php 类中的各种拦截器
1、__get( $property ) 访问未定义的属性时调用 class lanjie{ function __get($name) { echo $name. property not found! ; }}$ob = new lanjie();echo $ob-g; 当我们调用对象$ob未定义的属性g时,调用拦截器__get()方法,输出“g property not found!”;
1、__get( $property ) 访问未定义的属性时调用
class lanjie { function __get($name) { echo $name." property not found! "; } } $ob = new lanjie(); echo $ob->g;
当我们调用对象$ob未定义的属性g时,调用拦截器__get()方法,输出“g property not found!”;
2、__set( $property , $value ) 给未定义的属性调用时赋值
class person { private $_age; private $_name; function __set($name, $value) { $method = "set". ucfirst($name); echo $method; if(method_exists($this, $method) ) { return $this->$method( $value ); } } function setName( $name ) { $this->_name = $name; if( !is_null($this->_name) ) { $this->_name = strtoupper($this->_name); } } function setAge( $age ) { return $this->_age = (int)$age; } } $p = new person(); $p->name = 'bob'; print_r( array( $p ) );
这里我们可以很清楚的看到 , 当给未定义的‘name’赋值时 , 会调用“__set()”
其他的还有 __call(), __isset() , __unset();
这里最有用和最常用的的是__call() , 当调用一个为存在的方法时被调用; __isset()是在对一个为定义的属性使用isset()函数时被调用, __unset是在对未定义的数以使用unset时被调用
http://blog.csdn.net/shuiping567541/article/details/7061258

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu
