Laravel - 路由到内部文件夹" views"

时间:2014-10-27 06:53:09

标签: php laravel laravel-4 routing

我仍然是laravel的新手并且正在学习。 通常,例如,如果我想访问文件" login.blade.php" (位于" views"文件夹中),路线通常为:

Route::get('/login', array('as' => 'login', 'uses' => 'AuthController@getLogin'));

所以上面的工作就好了。但是,如果我想在"视图"夹?例如,我想路由文件" login.php"。

- views 
 -- account 
  --- login.blade.php

我尝试使用:

Route::get('/account/login', array('as' => 'login', 'uses' => 'AuthController@getLogin'));

但我得到一个错误说" Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException"

我做错了什么?

谢谢。

2 个答案:

答案 0 :(得分:3)

您对路线和观点的理解不正确。

Route::get的第一个参数是路径URI,它将在您的网址中用作domainname.com/routeURI,第二个参数可以是array()closure function或类似字符串'fooController@barAction'Route::get()与渲染视图无关。路线和视图并不像你想象的那样紧密耦合。

这可以通过下面的闭包来完成

Route::get('login', array('as' => 'login', function()
{
    return View::make('account.login');
}));

或使用控制器操作

路线档案:

Route::get('login', array('as' => 'login', 'uses' => 'AuthController@getLogin'));

AuthController文件:

public function getLogin()
{
    return View::make('account.login');
}

您可以在http://laravel.com/docs/4.2/routing找到更多内容,或者如果您更喜欢视频教程,请转到http://laracasts.com

答案 1 :(得分:1)

您需要在AuthController.php控制器中编写以下代码

public function getLogin()
{
      return View::make("account.login");
}