调用一个通用的静态类方法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

回到顶部