このメッセージは、奇妙な理由でphp5.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' => ...
);
}
...
}
子クラスに必要な静的メソッドを作成することが標準に違反していると見なされるのはなぜですか?