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

前端之家收集整理的这篇文章主要介绍了可以在一个操作中构造PHP对象并设置它们的变量吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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软件上
>这是对各种形式的懒散的敞开大门

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

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

原文链接:https://www.f2er.com/php/134001.html

猜你在找的PHP相关文章