由于某些奇怪的原因,此消息在 php 5.4 中显示。
我的课看起来像这样:
abstract class model{
private static
$tableStruct = array();
abstract protected static function tableStruct();
public static function foo(){
if(!isset(self::$tableStruct[get_called_class()]))
self::$tableStruct[get_called_class()] = static::tableStruct();
// I'm using it here!!
}
}
并且应该像这样使用:
class page extends model{
protected static function tableStruct(){
return array(
'id' => ...
'title' => ...
);
}
...
}
为什么创建子类所需的静态方法被认为是违反标准的?