@dev400

Правильное использование конструктора?

В свойства записываю новые объекты, и использую их в наследниках. Не нарушает ли это принципы ооп?
public function __construct()
    {
        $this->layout = new View('/layouts/single');
        $this->model = new Models\Catalog;
        $this->widgets = new Widgets;
    }
  • Вопрос задан
  • 299 просмотров
Решения вопроса 1
dmitriylanets
@dmitriylanets
веб-разработчик
Это нормально пока вы не начнете тестировать, тогда вы упретесь в SOLID.
public function __construct(ViewInterface $View, CatalogInterface $Catalog,WidgetsInterface $Widgets)
    {
        $this->layout = $View;
        $this->model = $Catalog;
        $this->widgets = $Widgets;
    }

1. Такой код лучше тестировать
2. Вы зависите от абстракций, а не от конкретных объектов
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы