@xuxubla

Можно ли в конструктор закладывать логику?

Вопрос простой, можно ли делать в конструкторе что-то кроме инициализации свойств. То есть делать что-то подобное:
public function __construct($text)
{
    $this->text = $text;
    self::setInfo();
}

public function setInfo()
{
    $this->name = 'name';
    $this->secondname = 'secondname';        
}
  • Вопрос задан
  • 762 просмотра
Пригласить эксперта
Ответы на вопрос 3
kentuck1213
@kentuck1213
public static function setInfo()
Ответ написан
Комментировать
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Да, запуск методов из конструктора дурным тоном не считается. Только вот логика закладывается уже внутри них.

У вас, кстати ошибка:

$this->setInfo();

Вы явно что-то путаете - php.net/manual/ru/language.oop5.static.php
Ответ написан
Комментировать
@a_ovchinnikov
Web developer
Как правило конструктор выполняет подготовку объекта к его дальнейшему существованию. В вашем случае наличие такого вызова вполне уместно, т.к по сути это тоже элемент инициализации объекта.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы