ari*_*rik 17 php properties this assign
我有一个PHP类型的对象MyObject.
$myObject instanceof MyObject
Run Code Online (Sandbox Code Playgroud)
现在,在class MyObject,有一个非静态函数,在那里,我使用"我"的引用$this,但我也有另一个对象.
是否有可能在不做的情况下$this = $myObject实现或多或少相同的效果,比如某种类似的东西set_object_vars($this, get_object_vars($myObject))?
Geo*_*let 52
<?php
class MyObject
{
public function import(MyObject $object)
{
foreach (get_object_vars($object) as $key => $value) {
$this->$key = $value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
会做你想做的我想,但你应该知道以下内容:
get_object_vars 只会找到非静态属性get_object_vars只会根据范围找到可访问的属性将根据范围的部分是非常重要的,可能值得多一点的解释.您是否知道属性范围依赖于类而不是PHP中的实例依赖?
这意味着在上面的例子中,如果你有一个private $bar属性MyObject,get_object_vars会看到它,因为你在一个MyObject类的实例中.如果您尝试导入另一个类的实例,这显然不起作用.
| 归档时间: |
|
| 查看次数: |
13343 次 |
| 最近记录: |