php中可使用call_user_func进行方法的动态调用,可以动态调用普通函数、类方法以及带参数的类方法
1.定义一个普通函数getCurrentDate,用于获取今天日期。
call_user_func带上的参数为要被调用的函数名
fucntion getCurrentDate(){
echo 'getCurrentDate:' . date('Y-m-d');
}
call_user_func('getCurrentDate');
程序会自动执行getCurrentDate函数并获得期望的结果
getCurrentDate:2016-04-13
2.定义一个类Cls53及类方法getTitle,call_user_func的输入参数变为一个数组,数组第一个元素为对象名、第二个元素为类方法名。
class Cls53{
public function getTitle(){
echo 'title';
}
}
$cls = new Cls53();
call_user_func(array($cls,'getTitle'));
程序会自动调用对象cls的方法getTitle并获得期望的结果
title
3.也可调用带参数的方法,此时将getTitle方法改为getTitle($title).
调用时,加上第二个参数,就是需要传给方法的参数
class Cls53{
public function getTitle($title){
echo $title;
}
}
$cls = new Cls53();
call_user_func(array($cls,'getTitle'),'abc');
传入的参数是abc,可获得期望的结果:
abc
相关文章
- 11-11php中怎么使用call_user_func动态调用方法
- 11-11C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 11-11使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库
- 11-11php中调用用户自定义函数的方法:call_user_func,call_user_func_array
- 11-11Struts2 Action中动态方法调用、通配符的使用
- 11-11第三章Struts2 Action中动态方法调用、通配符的使用
- 11-11Action中动态方法的调用 Action中通配符的使用 Result的配置