php的魔法方法__call使用
2012-07-17 15:50
274 查看
<?php class Car { public function __call($method,$args) { print "method $method called\n"; var_dump($args); } /* 新版本php提供 public static function __callStatic($method,$args) { print "static method $method called\n"; var_dump($args); } */ } $car = new Car(); $car->run(); // method run called array(0) { } $a = 100; $car->run($a); // method run called array(1) { [0]=> int(100) } $a = array( "a", "b" => array( 1,2,3 ), "c" ); $car->run($a); // method run called array(1) { [0]=> array(3) // { [0]=> string(1) "a" ["b"]=> array(3) { // [0]=> int(1) [1]=> int(2) [2]=> int(3) } // [1]=> string(1) "c" } } $car = new Car(); $car->run("hello","world"); // method run called array(2) { [0]=> string(5) "hello" [1]=> string(5) "world" } /* $car::alarm(); */ ?>可以看出调用不存在的方法时,不会抛错“call method undefined”,而是进入到我们定义的__call魔法函数,第一个参数$method为出错的函数名,$args为传递给这个函数的参数。
相关文章推荐
- php __call方法 即使用其实现方法重载
- PHP 中__Call()和call_user_func_array()方法的使用方法
- php中__call的使用方法
- php中__toString()方法及__call()方法的使用介绍
- PHP魔术方法之__call与__callStatic使用方法
- php中怎么使用call_user_func动态调用方法
- PHP 魔法方法之__call和__callStatic
- php中__call()方法使用
- PHP 如何优(zhuang)雅(bi)的使用魔术方法__call()
- PHP中的魔术方法之__call()和__callStatic()方法的使用
- php数据库操作model类(使用__call方法)
- php面向对象基本概念(魔法方法)__invoke() __toString() __call() __callStatic() __clone()
- php 使用__call实现钩子方法
- php数据库操作model类(使用__call方法)
- PHP中使用memcache存储session的三种配置方法
- phpredis中文手册(使用方法)——《redis中文手册》 php版
- php面象对象魔术方法的使用
- php返回上一页使用session存储上一页地址的方法
- php不使用copy()函数复制文件的方法
- PHP使用GETDATE获取当前日期时间作为一个关联数组的方法