【问题标题】:Laravel 5.2 Classes do not existLaravel 5.2 类不存在
【发布时间】:2016-06-30 07:46:48
【问题描述】:

问题:

我的 Laravel 5.2 应用程序出现错误,调用类方法会导致 Laravel 无法找到该类。

我运行 LAMP 堆栈

我尝试了各种建议,许多人偶然发现命名空间作为解决方案。我是 Laravel 的新手,所以我可能做错了一些基本设置。 我主要研究了文件夹的所有权和权限

我在调用库提供的不同控制器时也遇到了这个问题。但是,我不确定描述这个问题是否会混淆真正的问题。

我的错误:

Route.php 第 264 行中的反射异常: 类 App\Http\Controllers\SteamInventory 不存在

  1. 在 Route.php 第 264 行
  2. 在 ReflectionMethod->__construct('App\Http\Controllers\SteamInventory', 'getInventory') 在 Route.php 第 264 行
  3. 在 Route->signatureParameters('Illuminate\Database\Eloquent\Model') 在 Router.php 第 859 行
  4. 在 Router->substituteImplicitBindings(object(Route)) 在 Router.php 第 844 行
  5. 在 Router->substituteBindings(object(Route)) 在 Router.php 第 827 行
  6. 在 Router->findRoute(object(Request)) 在 Router.php 第 691 行
  7. 在 Router->dispatchToRoute(object(Request)) 在 Router.php 第 675 行
  8. 在 Router->dispatch(object(Request)) 在 Kernel.php 第 246 行
  9. 在内核->Illuminate\Foundation\Http{closure}(object(Request))
  10. 在 Pipeline.php 中的 call_user_func(object(Closure), object(Request)) 第 52 行
  11. 在 Pipeline->Illuminate\Routing{closure}(object(Request)) 中 CheckForMaintenanceMode.php 第 44 行
  12. 在 CheckForMaintenanceMode->handle(object(Request), 对象(闭包))
  13. 在 call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) 在 Pipeline.php 第 124 行
  14. 在 Pipeline->Illuminate\Pipeline{closure}(object(Request))
  15. 在 Pipeline.php 中的 call_user_func(object(Closure), object(Request)) 第 32 行
  16. 在 Pipeline->Illuminate\Routing{closure}(object(Request))
  17. 在 Pipeline.php 中的 call_user_func(object(Closure), object(Request)) 第 103 行
  18. 在 Pipeline->then(object(Closure)) 在 Kernel.php 第 132 行
  19. 在 Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php 第 99 行
  20. 在 Kernel->handle(object(Request)) in index.php 第 54 行

我在 /app/Http/routes.php 中的路由

Route::group(['middleware' => ['auth']], function () {

    Route::get('trades', 'SteamInventory@getInventory');

});

我的控制器在 /app/Http/Controllers/SteamInventoryController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;

class SteamInventoryController extends Controller
{
    public function getInventory () {
        return "test";
    }
}

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.2


    【解决方案1】:

    改变这个

    SteamInventory
    

    到这里

    SteamInventoryController
    

    在这

    Route::get('trades', 'SteamInventory@getInventory');
    

    【讨论】:

    • 非常感谢!它成功了。本来以为框架会自动在 SteamInventoryController 中寻找 SteamInventory,结果我错了:)
    • 一些 Laravel 的魔法方法就是这样工作的,所以我明白你为什么会期待它。不客气。
    • 那为什么这不起作用呢? Route::get('trades/newtrade',function(){ return view('trades',SteamInventoryController::getInventory()); });
    【解决方案2】:

    改变你的路线

       Route::get('trades', 'SteamInventory@getInventory');
    

      Route::get('trades', 'SteamInventoryController@getInventory');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-26
      • 2020-06-28
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-20
      • 2016-07-16
      相关资源
      最近更新 更多