我不確定這在 PHP 中是否可行……
我基本上想要
// A.php
class A {
public static function foo(int a, string b) {
//…//
}
}
被賦予另一個類中的另一個函式。但是其他類不應該知道類 A 并且不需要包含它,而應該只指定類似這樣的東西......
// B.php
class B {
public static function doSomething(callable $fn) {
$fn(1,'test'); //<-error
}
}
目前,當我呼叫它時,我收到錯誤“A 類”未找到……
include_once('A.php');
include_once('B.php');
B::doSomething('A::foo');
uj5u.com熱心網友回復:
PHP 可以做回呼,但我不確定你是否可以通過類名來做。
這是一個非常簡單的例子:
function Test($mystring) {return "MY STRING = ".$myString;}
function CallMyFunction($functionname,$mydata)
{
echo $functionname($mydata);
}
CallMyFunction('Test',"Hello World!");
更多資訊在這里:https : //www.w3schools.com/php/php_callback_functions.asp
uj5u.com熱心網友回復:
線索是它似乎在被呼叫類的背景關系中執行字串到函式決議,因此呼叫
B::doSomething([A::class, 'foo']);
在已知 A 的背景關系中執行此操作。至少這是我的理解:D
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/371172.html
