我想知道我们称这种作业是什么。
<?php
class SimpleClass
{
public $var1;
public $var2;
public $var3;
public function SimpleClass()
{
$this->var1 = 'one';
$this->var2 = 'two';
$this->var3 = 'three';
}
}
function test()
{
$objSc = new SimpleClass();
$objSc->var4 = 'WTF?!'; # <-- what do we call this?
var_dump($objSc);
}
test();
?>
更好的参考或链接。提前谢谢!
编辑:我正在寻找一个技术术语......好吧,如果我们有。答案 0 :(得分:10)
我认为这是超载。
PHP中的重载提供了动态“创建”属性和方法的方法。这些动态实体通过魔术方法处理,可以在类中为各种动作类型建立。
在与尚未声明或在当前范围内不可见的属性或方法交互时,将调用重载方法。
PHP手册参考here。
答案 1 :(得分:2)
将字符串 WTF?!
分配到SimpleClass
的公共范围变量。如果你var_dump
它,它会正确显示输出:
string(5) "WTF?!"
正如@marcdev指出的那样,它被称为重载。
答案 2 :(得分:1)
您正在设置$objSc
对象的独立属性。