浅谈PHP拦截器之__set()与__get()的理解与使用方法
深入理解与运用PHP之__set()与__get()方法
在PHP编程中,当我们定义类的属性为private时,对于外部来说这些属性是不可见的。在实际应用中,我们经常需要对这些属性进行读取和赋值操作。这时,PHP为我们提供了两个特殊的函数:__set()和__get(),它们被用作类的属性。
让我们理解一下这两个方法的作用。在PHP5中,当我们尝试访问一个私有属性的值时,如果直接访问会报错,因为该属性是私有的。我们可以通过调用__get()方法来获取私有属性的值。同样地,当我们尝试给一个私有属性赋值时,我们可以通过调用__set()方法来实现。这两个方法允许我们在私有属性的访问和赋值操作上进行一些自定义处理。
下面是一个简单的示例,展示了如何使用这两个方法:
```php
class Computer {
private $name;
private $price;
private $cpu;
private $clocked;
// 之赋值
public function __set($key, $value) {
// 使用$this->$key = $value来设置属性值
$this->$key = $value;
}
// 之取值
public function __get($key) {
if (isset($this->$key)) {
// 返回属性的值
return $this->$key;
} else {
return NULL;
}
}
}
// 创建Computer对象并为其属性赋值
$puter = new Computer();
$puter->name = "联想";
$puter->price = 5600;
$puter->cpu = "八核";
$puter->clocked = "1600hz";
// 输出属性值
echo $puter->name; // 输出:联想
echo $puter->price; // 输出:5600
echo $puter->cpu; // 输出:八核
echo $puter->clocked; // 输出:1600hz
```
这个示例中,我们创建了一个名为Computer的类,并为它定义了四个私有属性。通过使用__set()和__get()方法作为,我们可以方便地设置和获取这些私有属性的值。这种方式使得代码更加简洁和易于管理。通过这两个方法,我们还可以实现一些额外的逻辑处理,比如验证属性值的有效性等。使用__set()和__get()方法可以帮助我们更好地控制类的属性访问和赋值操作。
编程语言
- 浅谈PHP拦截器之__set()与__get()的理解与使用方法
- 微信小程序中setInterval的使用方法
- Laravel中任务调度console使用方法小结
- git恢复删除的分支及内容的方法
- 如何远程连接SQL Server数据库的图文教程
- JS清除选择内容的方法
- 基于jQuery实现表格的排序
- Flask中获取小程序Request数据的两种方法
- 解析PHP实现多进程并行执行脚本
- jQuery实现锚点scoll效果实例分析
- 基于JavaScript短信验证码如何实现
- php实现把数组按指定的个数分隔
- 浅谈Webpack多页应用HMR卡住问题
- Visual Studio 2017 IDE安装使用图文教程
- AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确
- js将table的每个td的内容自动赋值给其title属性的方