Laravel - 手动初始化类时自动注入所需的接口

时间:2016-05-16 15:14:43

标签: php laravel laravel-4

我有一个API端点控制器,如下所示:

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' => 'myApiController@methodone']);
Route::post('api/post',
    ['as' => 'api.post', 'uses' => 'myApiController@methodtwo']);

Laravel自动初始化上面的myApiController类并解析__construct()函数中的所有依赖注入。

myApiController中有一些函数没有绑定到端点,我想在另一个脚本中使用它们。当我使用以下命令初始化此脚本中的类时:

$MyApiController = new myApiController()

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

无论如何都要在类初始化时自动注入这些接口吗?

1 个答案:

答案 0 :(得分:0)

自动分辨率可以帮助您。

class FooBar {

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

}

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

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

read more