加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

可以在一个操作中构造PHP对象并设置它们的变量吗?

发布时间:2020-12-13 17:55:40 所属栏目:PHP教程 来源:网络整理
导读:在perl我习惯做 my $foo = new WhatEver( bar = 'baz' ); 现在我想弄清楚是否可以用这种方式构造PHP对象.我只看到这个: my $foo = new WhatEver();$foo-{bar} = 'baz'; 有可能一步到位吗? 您可以按如下方式布置构造函数: class MyClass { public function
在perl我习惯做
my $foo = new WhatEver( bar => 'baz' );

现在我想弄清楚是否可以用这种方式构造PHP对象.我只看到这个:

my $foo = new WhatEver();
$foo->{bar} = 'baz';

有可能一步到位吗?

您可以按如下方式布置构造函数:
class MyClass {
     public function __construct($obj=null) {
         if ($obj && $obj instanceof Traversable || is_array($obj)) {
             foreach ($obj as $k => $v) {
                if (property_exists($this,$k)) {
                    $this->{$k} = $v;
                }
             }
         }
     }
 }

这有一系列的缺点:

>效率低下
>您创建的变量不会显示在您使用的任何doc软件上
>这是对各种形式的懒散的敞开大门

但是,它还具有以下优点:

>这可以非常安全地扩展>它允许你懒惰实现变量>它还允许您设置私有变量,前提是您知道它们的名称.如果不被滥用,在这方面相当不错.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读