2015-02-11 67 views
1

我想加載駐留在包內的控制器。 包裝本身是像/包文件夾中的根級別/我的/ ... 封裝結構是這樣的:來自不同命名空間的Laravel 5控制器

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

弗里斯特:

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

上傳.json在laravel的根

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

然後作曲家轉儲自動加載,我可以看到其被添加到autoload_psr4.php 實際控制器

<?php 
namespace My\Controllers; 

use App\Http\Controllers; 

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

但是我得到ReflectionException,該類不存在。顯然,路由部分工作,爲什麼它看不到控制器? 謝謝!

+0

這是Laravel 5 – gentec 2015-02-11 22:11:59

+0

雙控制器命名空間衝突,也許?嘗試'使用App \ Http \ Controllers \ Controller;'然後只是'擴展Controller'。 – 2015-02-11 22:13:03

+0

nope,同樣的事情,後面可能會有其他問題,但現在它無法找到類本身..這是奇怪的部分。 – gentec 2015-02-11 22:18:36

回答

0

關閉我自己的問題。我是缺少在PSR-4裝載機根命名空間..包/我的/框架/ src目錄/