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 次 |
最近记录: |