dongpiao0731 2018-03-19 11:09
浏览 156
已采纳

为什么我的对象在构造和返回之后是空的?

I tried creating an object in PHP for PHPMailer to be used in development enviroments.

class Configuration
    function __construct()
    {
    // creating an object for configuration, setting the configuration options and then returning it.
         return $config = (object) array(
             'DevEnv' => true,                      // DevEnv setting is used to define if PHPMailer should use a dev mail address to send to or not.
             'ReceiverEmail' => 'email@gmail.com',  // Set the develop enviroment email. 
             'ReceiverName' => 'name'              // Set the develop enviroment email name.
         );
    }
}

Then I call the class in another controller:

protected $configuration;
function __construct()
{
    $this->configuration = new Configuration();
}
function SendInfoMail()
{
            foreach($this->configuration as $config) {
                var_dump($config);
                if ($config->DevEnv == true) {
                    // do stuff
                }else{
                    // do stuff
            }
        }

for some reason, it just dumps an empty object. I also tried using

  var_dump($config->ReceiverEmail);
  • 写回答

3条回答 默认 最新

  • dongyin6576 2018-03-19 11:16
    关注

    Constructors do not work that way. They do not have a return value – http://php.net/manual/en/language.oop5.decon.php

    new ClassA always returns an instance of that class.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?