<?php
class DBFactory {
function __construct(){
return 'Need to echo';
}
}
$db = new DBFactory;
echo $db;
?>
不起作用:(
我不明白如果你试图在构造函数上返回值,你为什么要研究 OOP。
OOP 的重点是拥有执行许多任务的对象,如果您想返回字符串、数组、资源,那么 OOP 不适合您。
__构造函数用于在对象初始化的前期阶段启动代码,它允许您在用户使用对象之前执行代码来准备对象。
如果您希望在对象上使用 __toString ,那么请明智地使用它,它的主要目的是为了对象的可读性,而不是存储等,主要用于错误调试。
当您使用创建对象时new
关键字 php 的处理器创建一个对象并将其分配给内存,然后运行该构造但不保存任何返回值,在构造函数到达其终点后,内存中对象的链接将返回给您的变量要求它如此。所以理论上你可以运行$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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)