Tôi đã tìm thấy đoạn mã bên dưới ở một số địa điểm trên web và thậm chí ở đây trên Stack Overflow, nhưng tôi không thể quấn đầu quanh nó. Tôi biết những gì nó làm, nhưng tôi không biết làm thế nào nó thậm chí với các ví dụ. Về cơ bản nó lưu trữ các giá trị, nhưng tôi không biết làm thế nào tôi thêm các giá trị vào sổ đăng ký. Ai đó có thể vui lòng cố gắng giải thích cách mã này hoạt động, cả cách tôi đặt và truy xuất các giá trị từ nó?Mẫu đăng ký PHP
class Registry {
private $vars = array();
public function __set($key, $val) {
$this->vars[$key] = $val;
}
public function __get($key) {
return $this->vars[$key];
}
}
Bạn nên ngăn chức năng thiết lập ghi đè bằng thứ gì đó như sau (cũng sử dụng array_key_exists, nên sử dụng cho cả hai tập hợp và nhận trong trường hợp này) mà có lẽ cũng quan trọng không sử dụng các khóa không tồn tại vì toàn bộ mục đích đăng ký là để lưu trữ thông tin, đó là loại bị đánh bại bởi khả năng ghi đè: 'tập chức năng công cộng ($ key, $ val) {if (! array_key_exists ($ key, $ this -> _ nfo)) {$ this-> _nfo [$ key] = $ val; }} ' – user1205600