gpt4 book ai didi

php - 使用变量定义 PHP 函数

转载 作者:IT王子 更新时间:2023-10-29 00:08:09 25 4
gpt4 key购买 nike

我想使用变量动态命名一些函数,如下所示:

$thing = 'some_function';

function $thing() {
echo 'hi!';
}

我知道我可以使用这样的变量调用函数:

$something = 'function_exists';

if( $something('print_r') ) {
echo 'Yep';
}

但上面的例子对我不起作用。

有什么想法吗?

我正在使用具有模块的系统。每个模块都是一个 php 脚本,可以从特定文件夹中添加或删除。

每个模块都需要一个新函数来初始化它。我正在查找文件名,然后我想循环并创建一系列函数,每个模块一个。

我正在使用现有系统,无法重写模块处理。

另一种方法是只写出所有的 init 函数并对其进行硬编码,但随着列表的增长,代码也会随之增长 - 如果模块被删除,则会引发错误。

最佳答案

你能做的是

$thing = 'some_function';
$$thing = function() {
echo 'hi';
};
$some_function();

在 php < 5.3 中,你必须使用 create_function而不是 anonymous function :

// Use this in < 5.3
$thing = 'some_function';
$$thing = create_function('',
'echo "hi";'
);
$some_function();

也就是说,用动态名称定义函数是个坏主意。相反,创建一个您调用的函数数组,或使用多态性。

关于php - 使用变量定义 PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213825/

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