【问题标题】:Laravel Controller in Folder - Routing doesn't work文件夹中的 Laravel 控制器 - 路由不起作用
【发布时间】:2013-06-19 20:07:56
【问题描述】:

我将名为“LoginController”的控制器放在“login”文件夹中。

class LoginController extends BaseController{
    public $restful = true;
    //log in function
    public function Login(){

        // load the login page
        return View::make('login.login');

    }
}

在路线中,我给出了这个:

Route::get('/',array('uses'=>'login.LoginController@Login'));

也试过了

Route::get('/',array('uses'=>'login\LoginController@Login')); 

Route::get('/',array('uses'=>'login\Login@login')); 

以上方法似乎都不起作用,并给我 Class does not exist 错误。 我对这个错误感到非常震惊。我在“用途”中访问控制器的方式是否正确?我需要做任何额外的事情才能让它工作吗?

非常感谢任何帮助!

【问题讨论】:

  • 你使用的是 laravel 3 还是 4?

标签: php laravel laravel-routing


【解决方案1】:

你只需要

Route::get('/',array('uses'=>'LoginController@Login'));

Composer 需要在路由中注册此更改,因此 dump-autoload composer

php composer.phar dump-autoload

另外,如果您使用的是 laravel 4,则使用

声明 restful 控制器
public $restful = true; 

不再有效。

【讨论】:

    【解决方案2】:

    这经常发生在我身上,只是为了给出一个对我有用的不同答案

    php 工匠转储自动加载

    享受吧!

    【讨论】:

      【解决方案3】:

      是的,我也有同样的问题,我从https://stackoverflow.com/a/31638718/2821049得到了答复

      Route::group(['namespace' => 'login'], function(
      {
          // Controllers Within The "App\Http\Controllers\login" Namespace
          Route::get('/','LoginController@login');
      });
      

      【讨论】:

        【解决方案4】:

        你在课堂上添加:

        namespace App\Http\Controllers\folder;
        use App\User;
        use App\Http\Controllers\Controller;
        

        在您调用的路线中:

        Route::get("admin/login","folder\class@NameFunctionInClass");
        

        注意:文件夹是文件夹类包含的名称

        【讨论】:

          猜你喜欢
          • 2013-01-08
          • 2013-09-21
          • 2015-06-10
          • 2016-12-14
          • 1970-01-01
          • 2015-10-17
          • 1970-01-01
          • 1970-01-01
          • 2016-03-17
          相关资源
          最近更新 更多