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();

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...