回声返回构造方法;

cdx*_*dxf 1 php oop constructor

<?php
class DBFactory {  
     function __construct(){  
         return 'Need to echo';
                  }  
}  
$db = new DBFactory;  
echo $db;
?>
Run Code Online (Sandbox Code Playgroud)

不起作用:(

Rob*_*itt 9

我不明白你为什么要调查OOP,如果你的tryiung在构造函数上返回值.

OOP的整点是要有执行许多任务,如果你想返回一个字符串,数组,资源,那么OOP是不适合你的对象.

__constructors使用过程中的对象初始化的预阶段启动代码,女巫允许执行代码编写的对象之前,用户可以使用它.

如果您想使用__toString上的对象,然后用它在刀刃上,其主要perpose是在对象可读性因素,而不是存储等主要用在错误调试.

当您使用创建对象new的关键字PHP的处理器创建一个对象,并将其分配到内存,它然后运行结构,但不持有任何从它的返回值,构造函数后为达到endppoint,该链接的对象内存返回到您要求的变量.所以理论上你可以运行$db->__construct()它仍然是一个方法,但只有在完全创建对象之后.

只需创建一个返回字符串的方法

class DBFactory
{
     function whatAmI()
     {
         return 'I am DBFactory';
     }  
}
$MyOBJECT = new DBFactory;
echo $MyOBJECT->whatAmI();
Run Code Online (Sandbox Code Playgroud)

这真的很愚蠢,但你想知道如何,

class DBFactory{  
     function __construct()
     {
         return 'Need to echo';
     }
}

$db = new DBFactory();
echo $db->__construct();
Run Code Online (Sandbox Code Playgroud)


dec*_*eze 7

您无法从构造函数返回任何内容.您已经获得了一个新对象,您无法获得另一个值并将其分配给$db.