__set 是一个魔术方法(magic method),在 PHP 中用于设置一个类的私有属性(private property)或受保护属性(protected property)时调用。
当我们在类外部直接给一个私有属性或受保护属性赋值时,__set 方法会被自动调用。它接收两个参数:$name 表示要设置的属性名,$value 表示要设置的属性值。
下面是一个示例:
class MyClass {
private $name;
public function __set($name, $value) {
echo "Setting $name to $value";
$this->$name = $value;
}
}
$obj = new MyClass();
$obj->name = 'John';
在上面的示例中,当我们给 $obj 对象的 name 属性赋值时,__set 方法会被调用。它会输出 "Setting name to John",并将属性值设置为 'John'。
需要注意的是,set 方法只会在给私有属性或受保护属性赋值时调用。如果给一个不存在的属性赋值,set 方法不会被调用,而是直接创建一个新的公有属性。
此外,如果我们想要在类外部获取私有属性或受保护属性的值,可以使用 get 方法。get 方法与 __set 方法类似,但用于获取属性值。
上一篇:php获取post文件(php curl post请求)
下一篇:php 超链接传参
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站