2013-07-20 32 views
6

Tôi đang cố gắng truy cập tên của bộ điều khiển hiện tại và phương thức hiện tại để chuyển nó sang chế độ xem của tôi dưới dạng biến. Tôi đã thử nhiều cách từ con trỏ tôi tìm thấy trực tuyến, nhưng họ không làm việc vì vậy tôi cho rằng họ đã cho Laravel 3.lấy tên bộ điều khiển và hành động trong Laravel 4

Dưới đây là những gì tôi đã cố gắng

Request::$route->controller 

cho

Access to undeclared static property: Illuminate\Support\Facades\Request::$route 

Request::route()->controller 

cho

Call to undefined method Illuminate\Http\Request::route() 

Trả lời

2

Các Router dụ trong mỗi yêu cầu có phương pháp sau đây mà bạn có thể sử dụng:

/** 
* Retrieve the entire route collection. 
* 
* @return \Symfony\Component\Routing\RouteCollection 
*/ 
public function getRoutes() 
{ 
    return $this->routes; 
} 

/** 
* Get the current request being dispatched. 
* 
* @return \Symfony\Component\HttpFoundation\Request 
*/ 
public function getRequest() 
{ 
    return $this->currentRequest; 
} 

/** 
* Get the current route being executed. 
* 
* @return \Illuminate\Routing\Route 
*/ 
public function getCurrentRoute() 
{ 
    return $this->currentRoute; 
} 

/** 
* Get the controller inspector instance. 
* 
* @return \Illuminate\Routing\Controllers\Inspector 
*/ 
public function getInspector() 
{ 
    return $this->inspector ?: new Controllers\Inspector; 
} 
+6

Làm thế nào để bạn truy cập cá thể 'Bộ định tuyến'? –

7

Hãy thử đặt tên tuyến đường của bạn theo route docs và sau đó sử dụng $name = Route::currentRouteName();

Trong điều kiện những gì bạn không biết những gì Controller/Route là bị sa thải trước thời hạn? Bạn có thể cho chúng tôi biết trường hợp sử dụng của bạn không?

-3

Bạn có thể sử dụng hằng php cơ bản/chức năng, chứ không phải là Laravel:

__LINE__, __FILE__, __FUNCTION__, __CLASS__, __METHOD__ 

sẽ cung cấp cho bạn dòng, tệp, hàm, lớp hoặc phương thức hiện tại

get_class() 

mang đến cho bạn lớp hiện tại

+0

Điều này không tạo ra kết quả chính xác trong Laravel/Blade. –

10
Route::currentRouteAction() 

lợi nhuận e..g "RecordAPIController @ hiển thị"

0

Laravel sử dụng "Yêu cầu" như bí danh cho 'Illuminate \ Support \ Mặt tiền \ Yêu Cầu' (có thể được tìm thấy trong ứng dụng. php). Lời khuyên của tôi là tránh sử dụng "Yêu cầu" làm tên model/controller/view của bạn.

Các vấn đề liên quan