Amb*_*pel 7 php oop constructor object
在perl中,我习惯了
my $foo = new WhatEver( bar => 'baz' );
Run Code Online (Sandbox Code Playgroud)
现在我想弄清楚是否可以用这种方式构造PHP对象.我只看到这个:
my $foo = new WhatEver();
$foo->{bar} = 'baz';
Run Code Online (Sandbox Code Playgroud)
有可能一步到位吗?
您可以按如下方式布置构造函数:
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;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这有一系列缺点:
然而,它还具有以下优点: