#laravel #laravel-4 #inversion-of-control #ioc-container
#laravel #laravel-4 #инверсия управления #ioc-контейнер
Вопрос:
У меня есть BaseController в приложении на базе Laravel Framework со следующим кодом:
class BaseController extends Controller {
public function __construct(Credentials $credentials) {
$this->credentials = $credentials;
}
Затем все мои другие контроллеры расширят BaseController:
class PostController extends BaseController {
public function __construct(PostRepository $post)
{
$this->post = $post;
parent::__construct();
}
Однако мне нужно было бы ввести подсказку класса учетных данных в parent::__construct(); всех моих контроллеров. Есть ли какой-либо способ избежать этого?
Заранее спасибо
Ответ №1:
Я могу решить это с помощью следующего кода:
class BaseController extends Controller {
public function __construct()
{
$this->credentials = App::make('Credentials'); // make sure to use the fully qualified namespace of Credentials if need be
}
}