<?PHP
class DBFactory {
function __construct(){
return 'Need to echo';
}
}
$db = new DBFactory;
echo $db;
?>
不起作用:(
解决方法:
我不明白,如果您尝试在构造函数上返回值,那么您为什么要考虑OOP.
OOP的全部目的是让对象执行许多任务,如果您想返回字符串,数组,资源,那么OOP不适合您.
__constructors用于在对象初始化的前期初始化代码,witch可让您执行代码以在用户使用前准备对象.
如果您想在对象上使用__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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。