gpt4 book ai didi

php - 如何将 call_user_func 用于静态类方法?

转载 作者:可可西里 更新时间:2023-11-01 12:48:35 25 4
gpt4 key购买 nike

下面的代码工作正常。

LibraryTests::TestGetServer();

获取 LibraryTests 中的函数数组并运行它们:

$methods = get_class_methods('LibraryTests');
foreach ($methods as $method) {
call_user_func('LibraryTests::' . $method . '()' );
}

这会引发错误:警告:call_user_func(LibraryTests::TestGetServer()) [function.call-user-func]:第一个参数应该是一个有效的回调

这是被调用的类:

class LibraryTests extends TestUnit {

function TestGetServer() {
TestUnit::AssertEqual(GetServer(), "localhost/");
}
.
.
.

如何修复?

使用 PHP 5.2.8。

最佳答案

任一个(自 PHP 5.2.3 起):

$methods = get_class_methods('LibraryTests');
foreach ($methods as $method) {
call_user_func('LibraryTests::' . $method);
}

或者(更早):

$methods = get_class_methods('LibraryTests');
foreach ($methods as $method) {
call_user_func(array('LibraryTests', $method));
}

参见 call_user_func­DocsCallback Pseudo-Type­Docs .

关于php - 如何将 call_user_func 用于静态类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651250/

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