微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-Echo Return构造方法;

<?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 举报,一经查实,本站将立刻删除。

相关推荐