@xuxubla

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

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

public function setInfo()
{
    $this->name = 'name';
    $this->secondname = 'secondname';        
}
  • Вопрос задан
  • 699 просмотров
Пригласить эксперта
Ответы на вопрос 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
Как правило конструктор выполняет подготовку объекта к его дальнейшему существованию. В вашем случае наличие такого вызова вполне уместно, т.к по сути это тоже элемент инициализации объекта.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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