__call、__set 和 __get的用法
来源:互联网 发布:java调用sql存储过程 编辑:程序博客网 时间:2024/05/22 13:07
__call、__set 和 __get的用法
- 博客分类:
- Php / Mysql
PHP
__call的用法
PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。
例:__call
- <?php
- class foo {
- function __call($name,$arguments) {
- print("Did you call me? I'm $name!<br>");
- print_r($arguments);
- print("<br><br>");
- }
- function doSecond($arguments)
- {
- print("Right, $arguments!<br>");
- }
- }
- $test = new foo();
- $test->doFirst('no this function');
- $test->doSecond('this function exist');
- ?>
__call 实现“过载”动作
这个特殊的方法可以被用来实现“过载(overloading)”的动作,这样你就可以检查你的参数并且通过调用一个私有的方法来传递参数。
例:使用 __call 实现“过载”动作
- <?php
- class Magic {
- function __call($name,$arguments) {
- if($name=='foo') {
- if(is_int($arguments[0])) $this->foo_for_int($arguments[0]);
- if(is_string($arguments[0])) $this->foo_for_string($arguments[0]);
- }
- }
- private function foo_for_int($x) {
- print("oh an int!");
- }
- private function foo_for_string($x) {
- print("oh a string!");
- }
- }
- $test = new Magic();
- $test->foo(3);
- $test->foo("3");
- ?>
__set 和 __get的用法
这是一个很棒的方法,__set 和 __get 方法可以用来捕获一个对象中不存在的变量和方法。
例: __set 和 __get
- <?php
- class foo {
- function __set($name,$val) {
- print("Hello, you tried to put $val in $name<br>");
- }
- function __get($name) {
- print("Hey you asked for $name<br>");
- }
- }
- $test = new foo();
- $test->__set('name','justcoding');
- $test->__get('name');
- ?>
- __call、__set 和 __get的用法
- __get和__set的用法
- PHP5中__call、__get、__set、__clone、__sleep、__wakeup的用法
- PHP面向对象 __call() __isset() __unset __get() __set() 的用法
- __call,__get,__set,__clone,__sleep,__wakeup用法
- PHP中__get()和__set的用法
- php __set和__get的用法
- php中__get()和__set的用法
- [转]PHP5中 __call、__get、__set、__clone、__sleep、__wakeup的用法
- 【代码】PHP中__get()和__set的两种用法
- PHP中__get()和__set()的用法实例详解
- php魔术方法__set和__get,__isset,__unset的用法
- 【PHP】PHP中__get()和__set()的用法实例详解
- PHP中__get()和__set()的用法实例详解
- PHP中__get()和__set()的用法实例详解
- php面向对象__get(),__set()的用法
- php面向对象__get(),__set()的用法
- __set和__get方法
- hdu_1165
- python3.2 一个简单的socket 程序
- 用 PHP 读取和编写 XML DOM
- sed
- php导出到Excel 或 CSV (附utf8、gbk 编码转换)
- __call、__set 和 __get的用法
- 【面试】linux下查看和添加PATH环境变量
- php 操作数组 (合并,拆分,追加,查找,删除等)
- CentOS下用命令查看IP地址
- Linux中通用链表(list)的解析
- 只要位图 MFC
- 哈希表查找不成功时的平均查找长度
- 关于CSDN积分问题
- 便利一个集合或数组中重复出现的数据的名字和个数