Конструктор: Вы делаете это неправильно.
Конструкторы делают то, что подразумевает их имя: создать новый экземпляр объекта.Таким образом, единственное, что имеет смысл для конструктора - это экземпляр этого объекта.Обратите внимание, что вы почти никогда не увидите конструктор с явным оператором return
1 .
Более чистый способ достичь того, что, как я считаю, вы хотите сделать, - это использовать исключения :
class A {
function __construct($stuff) {
if ($this->load($stuff) === false) {
throw new Exception('Unable to load');
}
}
}
try {
$aaa = new A($stuff);
} catch (Exception $e) {
die('error' . $e->getMessage());
}
1 Они разрешено, так что для этого может быть веская причина.Просто не могу сейчас об этом думать.