php 构造方法 return,php-Echo Return构造方法;

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

标签:php,oop,constructor

来源: https://codeday.me/bug/20191013/1906190.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值