1
我有一個簡單的枚舉類,它定義了一些常量,但我希望有幾個靜態方法提供對枚舉的反射,所以程序員。獲取子類名稱?
我能問鍵做什麼此枚舉有?等等
我已經實現了這一點,它像宣傳的那樣。目前爲止,但我真的很想擁有一個Enum類的基礎,這些方法的實現存在,並且我的所有枚舉都可以擴展它並從中受益。
不幸的是,當我這樣做的時候,魔術變量返回基類並混淆了反射。我想要的是返回子類的函數,但任何可行的方法對我來說都很好。
這裏的類定義:
final class LG_NutritionalValues
{
// ENUMERATION
const Calories = 1;
const Fat = 2;
const Carbohydrates = 3;
const Etc = 999;
public static function is_valid_key ($value) {
$reflect = new ReflectionClass (__CLASS__);
return in_array ($value , array_keys($reflect->getConstants()));
}
public static function list_keys() {
$reflect = new ReflectionClass (__CLASS__);
return array_keys($reflect->getConstants());
}
} // END enum class
正是我需要的,我應該能夠住在一起PHP5.3約束。謝謝! – ken
太好了,不客氣:) – Asciiom