温馨提示×

php __set用法有哪些示例

PHP
小樊
87
2024-11-29 21:20:59
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

__set() 是 PHP 中的一个魔术方法,用于在对象上设置属性值。当尝试访问一个对象的属性,但该属性不存在时,这个方法会被调用。以下是一些使用 __set() 的示例:

class MyClass {
    private $properties = array();

    public function __set($name, $value) {
        $this->properties[$name] = $value;
    }

    public function __get($name) {
        if (array_key_exists($name, $this->properties)) {
            return $this->properties[$name];
        } else {
            throw new Exception("Property '{$name}' does not exist.");
        }
    }
}

$obj = new MyClass();
$obj->property1 = "Value 1";
$obj->property2 = "Value 2";

echo $obj->property1 . "\n"; // 输出: Value 1
echo $obj->property2 . "\n"; // 输出: Value 2

// 尝试访问不存在的属性将抛出异常
try {
    echo $obj->property3;
} catch (Exception $e) {
    echo $e->getMessage() . "\n"; // 输出: Property 'property3' does not exist.
}

在这个例子中,我们创建了一个名为 MyClass 的类,它使用 __set() 方法来存储对象的属性。当我们尝试设置或获取一个属性时,这个方法会被调用。如果尝试访问一个不存在的属性,将抛出一个异常。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:php strtotime的参数传递

0