gpt4 book ai didi

php - 如何动态添加方法

转载 作者:IT王子 更新时间:2023-10-29 00:12:41 24 4
gpt4 key购买 nike

我正在尝试从外部文件动态添加方法。现在我的类中有 __call 方法,所以当我调用我想要的方法时,__call 会为我包含它;问题是我想通过我的类调用加载函数,我不想在类之外加载函数;

Class myClass
{
function__call($name, $args)
{
require_once($name.".php");
}
}

echoA.php:

function echoA()
{
echo("A");
}

然后我想像这样使用它:

$myClass = new myClass();
$myClass->echoA();

任何建议将不胜感激。

最佳答案

这是你需要的吗?

$methodOne = function ()
{
echo "I am doing one.".PHP_EOL;
};

$methodTwo = function ()
{
echo "I am doing two.".PHP_EOL;
};

class Composite
{
function addMethod($name, $method)
{
$this->{$name} = $method;
}

public function __call($name, $arguments)
{
return call_user_func($this->{$name}, $arguments);
}
}


$one = new Composite();
$one -> addMethod("method1", $methodOne);
$one -> method1();
$one -> addMethod("method2", $methodTwo);
$one -> method2();

关于php - 如何动态添加方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7026487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com