php 动态执行带有参数的类方法

 更新时间:2009年04月10日 19:43:40   作者:  
PHP中,在事先知道类和类的方法名称,使用call_user_func函数可以做动态执行。
官方手册给出了以下范例:
复制代码 代码如下:

<?php
// 使用了NameSpace的例子
namespace Foobar;
class Foo {
static public function test() {
print "Hello world!\n";
}
}
call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0
// Hello world!
call_user_func(array(__NAMESPACE__ .'\Foo', 'test')); // As of PHP 5.3.0
// Hello world!
?>

复制代码 代码如下:

<?php
// 直接调用方法的例子
class myclass {
static function say_hello()
{
echo "Hello!\n";
}
}
$classname = "myclass";
call_user_func(array($classname, 'say_hello'));
call_user_func($classname .'::say_hello'); // As of 5.2.3
?>

那么,如果是普通的方法,而且,方法带有参数该怎么办?
以下是笔者写的一个小例子,供参考:
复制代码 代码如下:

<?php
// 执行带有参数的类
class Loveapple{
public function sayHello($a, $b){
echo "Hello:".$a.". ".$b."\n";

}
}
$obj = new Loveapple();
//执行结果 Hello:loveapple. Using instance.
call_user_func(array($obj, "sayHello"), "loveapple", "Using instance.");
//执行结果 Hello:loveapple. Using class name.
call_user_func(array("Loveapple", "sayHello"), "loveapple", "Using class name.");
?>

相关文章

  • PHP 过滤页面中的BOM(实现代码)

    PHP 过滤页面中的BOM(实现代码)

    本篇文章是对PHP中过滤页面中的BOM的实现代码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Apache2 httpd.conf 中文版

    Apache2 httpd.conf 中文版

    Apache2 httpd.conf 中文版...
    2006-12-12
  • php操作excel文件 基于phpexcel

    php操作excel文件 基于phpexcel

    最近在工作中需要处理多语言的翻译问题,翻译都是写在excel表格里面。为了处理方便我就保留中文和英文两列。这样需要将这些数据从excel中取出来,然乎保存在excel的数组中,通过使用循环数组将相应的数据放入到数据库中。
    2010-07-07
  • 支持汉转拼和拼音分词的PHP中文工具类ChineseUtil

    支持汉转拼和拼音分词的PHP中文工具类ChineseUtil

    本文给大家推荐的是一款PHP的中文分词工具类,功能包括支持汉字转拼音、拼音分词、简繁互转。非常不错,有需要的小伙伴可以参考下
    2018-02-02
  • PHP生成plist数据的方法

    PHP生成plist数据的方法

    这篇文章主要介绍了PHP生成plist数据的方法,可实现PHP数组转换为苹果plist XML或文本格式的功能,需要的朋友可以参考下
    2015-06-06
  • 又一个php 分页类实现代码

    又一个php 分页类实现代码

    php 分页类代码,比较简单。
    2009-12-12
  • PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析

    PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析

    这篇文章主要介绍了PHP5.0~5.6 各版本兼容性cURL文件上传功能,结合实例形式分析了php各个常见版本进行curl文件上传操作的相关实现技巧与注意事项,需要的朋友可以参考下
    2018-05-05
  • php allow_url_include的应用和解释

    php allow_url_include的应用和解释

    PHP常常因为它可能允许URLS被导入和执行语句被人们指责。事实上,这件事情并不是很让人感到惊奇,因为这是导致称为Remote URL Include vulnerabilities的php应用程序漏洞的最重要的原因之一。
    2010-04-04
  • PHP模板解析类实例

    PHP模板解析类实例

    这篇文章主要介绍了PHP模板解析类,涉及php针对模板文件的解析与字符串处理的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php简单复制文件的方法

    php简单复制文件的方法

    这篇文章主要介绍了php简单复制文件的方法,涉及php针对文件的简单判定与读写操作,需要的朋友可以参考下
    2016-05-05

最新评论