需要更改Laravel控制器路径已在serviceprovider上将命名空间设置为空

时间:2016-07-14 11:02:36

标签: controller namespaces laravel-5.2 laravel-routing

我想改变路线的路径,但它仍然给出错误

  

类HomeController不存在

下面是我的代码

  

app / Http / routes.php 页面

Route::get('admin/restaurantMenu', 'HomeController@index');
  

app / Provider / RouteServiceProvider.php 页面

protected $namespace = '';

root HomeController.php 上的家庭控制器页面 见附图

我已经尝试了

  1. composer dump-autoload
  2. php artisan optimize
  3. php artisan route:clear
  4. php artisan route:cache
  5. HomeController.php

1 个答案:

答案 0 :(得分:1)

默认情况下,您的路由器将位于“App / Http / Controllers”命名空间中。 (我无法看到你保留了那个命名空间,因为你已经切断了图像,但我假设......我知道......我不应该假设)

所以改变

protected $namespace = 'App\Http\Controllers';

protected $namespace = ''

Laravel正试图将'App \ Http \ Controllers \ HomeController'与'HomeController'匹配而没有找到它。

您应该将受保护的$ namespace更改回原来的状态,它应该开始工作。

您是否有理由将控制器移动到应用程序的根目录中?虽然Laravel可以很容易地移动东西,但是将所有控制器放在一起应该会使应用程序变得更容易理解。

路径本身控制的是URL而不是app /.

中控制器文件的位置

希望这完全有用吗?