Я не понимаю, зачем вы заглядываете в ООП, если вы пытаетесь вернуть значения в конструкторе.
весь смысл ООП состоит в том, чтобы иметь объекты, которые выполняют много задач, если вы хотите вернуть строку, массивРесурс затем ООП не для вас.
__ Конструкторы используются для инициации кода на предварительных этапах инициализации объекта, позволяя вам выполнить код для подготовки объекта, прежде чем пользователь сможет его использовать.
Если вы хотите использовать __toString для объектов, то используйте его разумно, его основная цель - коэффициент читабельности объектов, а не хранилища и т. Д., Которые в основном используются при отладке ошибок.процессор php с ключевым словом new
создает объект и присваивает его памяти, затем запускает конструкцию, но не содержит никаких возвращаемых значений, после того как конструктор достигнет своего конечного значения, возвращается ссылка на объект в памятик переменной, которую вы просили, чтобы это было.так что в теории вы можете запустить $db->__construct()
как метод, но только после того, как объект полностью создан.
просто создайте метод для возврата строки, подобной
class DBFactory
{
function whatAmI()
{
return 'I am DBFactory';
}
}
$MyOBJECT = new DBFactory;
echo $MyOBJECT->whatAmI();
Это действительно ДЕЙСТВИТЕЛЬНО глупо, но, как вы хотите знать,
class DBFactory{
function __construct()
{
return 'Need to echo';
}
}
$db = new DBFactory();
echo $db->__construct();