2014-02-07 139 views
0

我想將我的擴展控制器打包到我的包中。所以,我把所有的控制器放在'src'文件夾下的'controllers'中。Laravel 4:包擴展控制器

MyController.php

namespace MyVendor\MyPackage; 
use \Illuminate\Routing\Controller; 

class MyController extends Controller 
{ 
    public function loginAction() 
    { 
    } 
} 

我試圖從路線與MyVendor\MyPackage\[email protected]調用它在包裝,並將其與消息「類的Myvendor \ MyPackage的\ myController的不存在」告終。

我錯過了什麼或做錯了什麼?如何使它工作?

謝謝。

+0

您是否將其添加到composer.json中的autoload並運行'composer dump-autoload'? –

回答

0

第1步:確保它通過作曲者自動加載。在composer.json(在工作臺/包):

"autoload": { 

    // ... 

    "classmap": [ 
     "src/controllers", 
    ], 

    // ... 
}, 

然後運行命令行作曲家自卸自動加載的,但要確保你的包目錄(例如工作臺/名/包/)!

第2步:在/app/config/app.php中添加一個別名。

+0

非常感謝您的回答。我試過了,但仍然得到相同的錯誤。我不明白的部分是第2步。在別名中添加什麼?我在這裏所做的是添加'「MyVendor \ MyPackage」=>「MyVendor \ MyPackage \ Controllers」'。那是對的嗎? – user1995781