я заметил, что конструкторы в классах PHP не может возвращать значение, отличное от объектов, когда неявно вызывается из вне класса:Почему конструкторы не могут вернуть значение, отличное от объекта, даже если это явно указано?
class A
{
function __construct()
{
return FALSE;
}
function aFunctionInside()
{
$aVar = $this->__construct();
echo gettype($aVar);
}
}
$A = new A;
$A->aFunctionInside(); // boolean
echo gettype ($A); //object
Является ли это поведение полезно в любом случае?
Логически вы получаете экземпляр как «возвращаемое значение», так как (и почему) вы ожидаете, что что-нибудь еще будет возвращено? И почему вы хотите вызвать конструктора в любых других обстоятельствах? –
Непонятно, что именно вы говорите .... Если вам нужно создать несколько объектов, по одному для каждого $ _POST, затем использовать объект коллекции, создать экземпляр этого экземпляра и создать экземпляр объектов для каждого отдельного $ _POST var –
@MarkBaker Извините, я набрал его неправильно. Я думал о случае, когда я получаю данные формы через POST, и вам нужно подсчитать, сколько полей было заполнено в форме. Если бы я хотел сделать всю входную санитацию внутри конструктора, тогда я должен посчитать ее, избежать специальных символов, всех внутренних конструкторов и во время процесса санитарии, если что-то не так с вводом, я могу отметить, что, вернув false от конструктора. Я знаю, что конструктор не подходит для такого рода вещей, поэтому я никогда не буду этого делать. Просто пример. –