Php 回波回波构造法;

Php 回波回波构造法;,php,oop,constructor,Php,Oop,Constructor,不起作用:(您无法从构造函数返回任何内容。您已经返回了一个新对象,您无法在该对象上获取另一个值并将其同时分配给$db您无法从构造函数返回任何内容。您已经返回了一个新对象,您无法在该对象上获取另一个值并将其同时分配给$db <?php class DBFactory { function __construct(){ return 'Need to echo'; } } $db = new DBFactory;

不起作用:(

您无法从构造函数返回任何内容。您已经返回了一个新对象,您无法在该对象上获取另一个值并将其同时分配给
$db

您无法从构造函数返回任何内容。您已经返回了一个新对象,您无法在该对象上获取另一个值并将其同时分配给
$db

<?php
class DBFactory {  
     function __construct(){  
         return 'Need to echo';
                  }  
}  
$db = new DBFactory;  
echo $db;
?>
我想这个“()”也在这里


我认为这个“()”也在这里

构造函数不应该返回任何东西

如果要回显对象,必须定义如何使用魔术方法
\uuuu tostring

$db = new DBFactory();  

构造函数不应该返回任何内容

如果要回显对象,必须定义如何使用魔术方法
\uuuu tostring

$db = new DBFactory();  

通常不可能在类的构造函数中返回值。在这种情况下,$db包含类的实例,而不是返回值

您可以构建一个单独的函数,并让该函数返回值:

class DBFactory {  
     function __tostring(){  
         return 'Need to echo';
     }  
}
$db = new DBFactory();
echo $db;

通常不可能在类的构造函数中返回值。在这种情况下,$db包含类的实例,而不是返回值

您可以构建一个单独的函数,并让该函数返回值:

class DBFactory {  
     function __tostring(){  
         return 'Need to echo';
     }  
}
$db = new DBFactory();
echo $db;

我不明白,如果您试图在构造函数上返回值,为什么要查看OOP

OOP的全部要点是让对象执行许多任务,如果您想返回字符串、数组和资源,那么OOP不适合您

__构造函数用于在对象初始化的前几个阶段初始化代码,它允许您在用户可以使用对象之前执行代码来准备对象

如果您希望在对象上使用_toString,那么请明智地使用它,它的主要用途是在对象中提供可读性,而不是存储等。主要用于错误调试

当您使用
new
关键字创建一个对象时,php的处理器会创建一个对象并将其分配给内存,然后它会运行构造,但不会保存任何从它返回的值,在构造函数到达其endppoint后,内存中对象的链接会返回到您要求的变量。理论上如此您可以运行
$db->\uu construct()
,因为它仍然是一个方法,但只有在完全创建对象之后才能运行

只需创建一个方法来返回如下字符串

<?php
class DBFactory {  
      function toEcho() {
        return 'Need to echo';
      }
}  
$db = new DBFactory();  
echo $db->toEcho();
?>

这样做真的很愚蠢,但正如你想知道的那样

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

我不明白,如果你试图在构造函数上返回值,为什么要研究OOP

OOP的全部要点是让对象执行许多任务,如果您想返回字符串、数组和资源,那么OOP不适合您

__构造函数用于在对象初始化的前几个阶段初始化代码,它允许您在用户可以使用对象之前执行代码来准备对象

如果您希望在对象上使用_toString,那么请明智地使用它,它的主要用途是在对象中提供可读性,而不是存储等。主要用于错误调试

当您使用
new
关键字创建一个对象时,php的处理器会创建一个对象并将其分配给内存,然后它会运行构造,但不会保存任何从它返回的值,在构造函数到达其endppoint后,内存中对象的链接会返回到您要求的变量。理论上如此您可以运行
$db->\uu construct()
,因为它仍然是一个方法,但只有在完全创建对象之后才能运行

只需创建一个方法来返回如下字符串

<?php
class DBFactory {  
      function toEcho() {
        return 'Need to echo';
      }
}  
$db = new DBFactory();  
echo $db->toEcho();
?>

这样做真的很愚蠢,但正如你想知道的那样

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

您可以使用uuu-toString-magic方法获取要回显的uuu构造 或者你也可以不使用uu_u-toString魔法方法就直接获得Metod。有很多方法可以选择其中一种

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

$db = new DBFactory();
echo $db->__construct();


您可以使用uuu-toString魔术方法来获得要回显的uu构造 或者你也可以不使用uu_u-toString魔法方法就直接获得Metod。有很多方法可以选择其中一种

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

$db = new DBFactory();
echo $db->__construct();



你到底想完成什么?你到底想完成什么?如果没有传递参数,括号是可选的。括号只是参数请求者,仅此而已。如果没有传递参数,括号是可选的。括号只是参数请求者,没有任何m俄勒冈州@RobertPitt什么?谁说是这样的?@RobertPitt这将按照OP在他的例子中所期望的方式工作。:o)但可能是因为错误的原因。@deceze操作人员没有说他想在实例化时返回任何内容。事实上,他没有说太多。我只是告诉他如何才能得到他试图实现的结果。你可能想直接告诉Robert(他走了),在这一点上,我已经同意你的观点。我只是说OP可能因为错误的原因而期望它工作。
\u toString
可能就是OP所期望的(据我们所知)。为什么会投反对票?@RobertPitt什么?谁说的?RobertPitt这会按照OP在他的例子中期望的方式工作。:o)也许是因为错误的原因。@deceze操作没有说他想在实例化时返回任何东西。事实上,他没说多少。我只是告诉他如何才能得到他想要达到的结果。你可能想把这个指向罗伯特(他走了),在这一点上我已经同意你了。我只是说OP可能会因为错误的原因而期望它工作。
\u toString
可能是OP所寻找的(据其所知)。为什么要投否决票?我认为@Artefactor的解决方案在OO环境下更好,但这实际上取决于你到底想做什么@你可以在这里完全省略构造函数。另外,您正在那里寻找
->
接线员。谢谢,这就是我的电话号码