父类中的代码:
foreach(static::$_aReadOnlyDatabaseTables AS $TableName => $aColumns){
// Do something
}
这在子类中定义了 $_aReadOnlyDatabaseTables 时有效,但在 $_aReadOnlyDatabaseTables 不存在时会引发错误。我需要先检查这个属性是否存在。
我认为它应该是这样的:
if(property_exists(static,$_aReadOnlyDatabaseTables)){
foreach(static::$_aReadOnlyDatabaseTables AS $TableName => $aColumns){
// Do something
}
}
但这会引发语法错误,unexpected ',', expecting T_PAAMAYIM_NEKUDOTAYIM
. 使用$this
代替static
也不起作用,它总是评估为假。
什么是正确的语法?