调用一个通用的静态类方法php
我想写一个通用的方法,在PHP中引用泛型类(但方法相同)。调用一个通用的静态类方法php
class A { public static function Dox(){
}
}
class B {
public static function Dox(){
}
}
class C{
public static function Include($class){
$result = $class::Dox(); //instead of 2 methods => A::Dox and B::Dox
}
}
我得到一个错误。 有什么建议吗?
回答:
call_user_func
是否工作?
class A { public static function Dox() {
}
}
class B {
public static function Dox() {
}
}
class C {
public static function Include($class) {
$result = call_user_func(array($class, "Dox"));
}
}
回答:
include
是keyword。将你的方法重命名为foo(),bar()或任何不是关键字的东西。
例如
<?php class A {
public static function Dox() { return 'A::Dox'; }
}
class B {
public static function Dox() { return 'B::Dox'; }
}
class C {
public static function foo($class) {
$result = $class::Dox();
echo 'result: ', $result, "\n";
}
}
foreach(array('A','B') as $c) {
C::foo($c);
}
打印
result: A::Dox result: B::Dox
回答:
包含关键字 “spesific关键字”。
试试:
public static function IncludeXXX(){...}
以上是 调用一个通用的静态类方法php 的全部内容, 来源链接: utcz.com/qa/263238.html