2014-02-07 105 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