您的位置:首页 > 编程语言 > PHP开发

PHP中不同类之间函数式调用对象与同类中对象的函数式使用

2012-03-03 13:08 274 查看
使用魔术方法__call可以实现对象间的函数式调用(以数组形式传递),也可以直接在本对象中使用__invoke(类似函数)。

<?php
class class1{
var $a;
function __call($name,$u){
if(class_exists($name))
$a=new class2();
return $a->__input($u[0]);
}
}
class class2{
function __construct(){
echo "对象已经建立"."<br>";
}
function __input($u){
if($u<5)
echo "小于5"."<br>";
else 
echo "大于或等于5"."<br>";
}
function __invoke($k){
if($k<5)
echo "小于5"."<br>";
else 
echo "大于或等于5"."<br>";
}
function __destruct(){
echo "对象已经销毁"."<br>";
}
}
$e=new class1();
$e->class2(2);
$e=null;
$e=new class2();
$e(9);
?>
调试结果为:
对象已经建立

小于5

对象已经销毁

对象已经建立

大于或等于5

对象已经销毁
总结:实现了不同对象的函数式调用,类的自动加载,也可用函数方法使用单独的类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php class function input null
相关文章推荐