親クラスのコード:
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
ても機能せず、常に false と評価されます。
これの適切な構文は何ですか?