Laravel 路由到控制器动作
Posted
技术标签:
【中文标题】Laravel 路由到控制器动作【英文标题】:Laravel Routing to controller actions 【发布时间】:2014-08-26 08:31:04 【问题描述】:我一直在尝试让 laravel 路由到我的控制器操作。 我不确定在 laravel 框架中执行此操作的最佳方法。
我脑海中的画面是这样的。
我有一个路由设置来链接到我的控制器操作。所以当我输入 domain.com/Home/Profile 它将调用 HomeController 的配置文件操作。它将进行一些处理并在页面上显示视图。 (如 mvc4)
我可能会以错误的方式进行此操作,但我只是试图避免为每个视图制定路线。我更喜欢解决这个问题的正确方法,或者 laravel 开发人员作为标准做法所做的任何事情,因为为每个视图都有一条路线感觉很奇怪。
到目前为止,这是我的代码:routes.php
Route::get('/', 'HomeController@index');
Route::any('/controller/action?', function ($controller, $action = 'index')
$class = $controller.'Controller';
$controller = new $class()
return $controller->$action();
);
家庭控制器:
class HomeController extends BaseController
protected $layout = 'layouts.master';
public function index()
$this->layout->content = View::make('index');
return View::make('index');
public function profile()
$this->layout->content = View::make('profile');
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:找到对我有用的答案。这是 Restful 控制器
我用这条线注册了控制器
Route::get('/', 'HomeController@index');
Route::controller('/', 'HomeController');
并将我的控制器操作更改为 getProfile()
【讨论】:
如果我有参数?如何调用带参数的动作?例如:Route::get('/home/id', 'HomeController@index');
【参考方案2】:
http://laravel.com/docs/controllers#resource-controllers
Route::get('home/profile');
Route::resource('home', 'HomeController');
【讨论】:
难道我的行为没有任何回报【参考方案3】:这段代码对我有用
$api->any('order_manage/action?', function ($action = 'index')
$app = app();
$namespace = 'App\Http\Controllers';
$controller = $app->make($namespace.'\ProjectOrderController');
return $controller->callAction($action,[request()]);
);
【讨论】:
以上是关于Laravel 路由到控制器动作的主要内容,如果未能解决你的问题,请参考以下文章