溫馨提示×

php __set用法有哪些示例

PHP
小樊
89
2024-11-29 21:20:59
欄目: 編程語言

__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() 方法來存儲對象的屬性。當我們嘗試設置或獲取一個屬性時,這個方法會被調用。如果嘗試訪問一個不存在的屬性,將拋出一個異常。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女