在perl我习惯做
my $foo = new WhatEver( bar => 'baz' );
现在我想弄清楚是否可以用这种方式构造PHP对象.我只看到这个:
my $foo = new WhatEver(); $foo->{bar} = 'baz';
有可能一步到位吗?
您可以按如下方式布置构造函数:
原文链接:https://www.f2er.com/php/134001.htmlclass 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软件上
>这是对各种形式的懒散的敞开大门
但是,它还具有以下优点:
>这可以非常安全地扩展>它允许你懒惰实现变量>它还允许您设置私有变量,前提是您知道它们的名称.如果不被滥用,在这方面相当不错.