加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 05:31:20 所属栏目:PHP教程 来源:网络整理
导读:官方手册给出了以下范例: div class="codetitle" a style="CURSOR: pointer" data="54696" class="copybut" id="copybut54696" onclick="doCopy('code54696')" 代码如下: div class="codebody" id="code54696" ?php // 使用了NameSpace的例子 namespace Foo

官方手册给出了以下范例:
<div class="codetitle"><a style="CURSOR: pointer" data="54696" class="copybut" id="copybut54696" onclick="doCopy('code54696')"> 代码如下:<div class="codebody" id="code54696">
<?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!
?>

<div class="codetitle"><a style="CURSOR: pointer" data="46410" class="copybut" id="copybut46410" onclick="doCopy('code46410')"> 代码如下:<div class="codebody" id="code46410">
<?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
?>

那么,如果是普通的方法,而且,方法带有参数该怎么办?


以下是笔者写的一个小例子,供参考:
<div class="codetitle"><a style="CURSOR: pointer" data="24384" class="copybut" id="copybut24384" onclick="doCopy('code24384')"> 代码如下:<div class="codebody" id="code24384">
<?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","Using class name.");
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读