【问题标题】:Laravel 5 Controller from a Different namespace来自不同命名空间的 Laravel 5 控制器
【发布时间】:2015-04-12 11:34:28
【问题描述】:

我正在尝试加载驻留在包中的控制器。 包本身位于 /packages/my/ 之类的文件夹的根级别... 包结构是这样的:

/packages/my/framework/src/My/Controllers/PageController.php

我的 RouteServiceProvider 中的第一个:

  $router->group(['namespace' => 'My\Controllers'], function($router)
        {
            require "...../routes.php";
   });

在 laravel 根目录的 composer.json 中

 "psr-4": {
            "App\\": "app/", 
            "My\\": "packages/my/framework/src"
        }

然后 composer dump-autoload ,我可以看到它已添加到 autoload_psr4.php 实际控制人

<?php
namespace My\Controllers;

use App\Http\Controllers;

class PageController extends Controllers\Controller { .... }

但是我收到了该类不存在的 ReflectionException。明明路由部分工作,为什么看不到Controller? 谢谢!

【问题讨论】:

  • 这适用于 Laravel 5
  • 命名空间与双控制器冲突,也许?试试use App\Http\Controllers\Controller;,然后再试试extends Controller
  • 不,同样的事情,以后可能还有其他问题,但现在它找不到类本身..这是奇怪的部分。
  • 这太糟糕了。 :/希望其他人给出一个简单的答案,我不知道。祝你好运

标签: laravel-5


【解决方案1】:

结束我自己的问题 .. 我在 psr-4 加载程序中缺少根命名空间 .. packages/my/framework/src/My

【讨论】:

    猜你喜欢
    • 2015-04-28
    • 2019-06-14
    • 1970-01-01
    • 2015-07-05
    • 2023-04-09
    • 2014-12-13
    • 2013-09-01
    • 1970-01-01
    • 2015-09-15
    相关资源
    最近更新 更多