2016-05-16 96 views
0

我有一个API端点控制器,它看起来像:Laravel - 自动注射所需接口当手动初始化类

class myApiController extends BaseApiController{ 

    public function __construct(UsersInterface $users, JobsInterface $jobs){ 

     // Do bootstrap tasks 

    } 

} 

以上内容仅目前正在使用为我的API提供端点。它们在routes.php文件中以下列方式引用。

Route::get('api/get', 
    ['as' => 'api.get', 'uses' => '[email protected]']); 
Route::post('api/post', 
    ['as' => 'api.post', 'uses' => '[email protected]']); 

Laravel自动初始化myApiController类以上并解决了__construct()功能的所有依赖注入。

myApiController中有几个函数没有绑定到端点,我希望在另一个脚本中使用它。当我在这个脚本中初始化类时:

$MyApiController = new myApiController() 

我收到一个错误,指出构造函数期望接口引用被注入。

有没有办法在类初始化时自动注入这些接口?

回答

0

自动分辨率可以帮助你。

class FooBar { 

    public function __construct(Baz $baz) 
    { 
     $this->baz = $baz; 
    } 

} 

$fooBar = App::make('FooBar'); 

请确保命名空间是正确的。(对于laravel 4,你不需要命名空间)

read more