2014-07-05 166 views
2

我一直在尝试一段时间才能让laravel路由到我的控制器操作。 我不确定在laravel框架中做到这一点的最佳方式。Laravel路由到控制器操作

如何在我脑海中描绘它是这样的。

我有一个路由设置来链接到我的控制器操作。所以当我输入domain.com/Home/Profile 它会调用HomeController的配置文件操作。这将做一些处理并在页面上显示视图。 (像mvc4)

我可能会采取这种错误的方式,但我只是试图避免为每个视图做出路线。我更关注这个问题的正确方法,或者任何laravel开发人员作为标准实践所做的事情,因为对于每个视图都有一条路线感到很奇怪。

到目前为止,这是我的代码:routes.php文件

Route::get('/', '[email protected]'); 

Route::any('/{controller}/{action?}', function ($controller, $action = 'index') 
{ 
    $class = $controller.'Controller'; 
    $controller = new $class() 

    return $controller->{$action}(); 

}); 

的HomeController:

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'); 
    } 
} 

感谢提前任何帮助。

回答

0

发现,我工作的答案。这是宁静的控制器

我注册控制器这一行

Route::get('/', '[email protected]'); 
Route::controller('/', 'HomeController'); 

而且改变了我的控制器行动getProfile()

+0

如果我有参数?如何用参数调用动作? 例如: '''Route :: get('/ home/{id}','HomeController @ index');''' –