PHPで連想配列と定数を使用して一種の知識ツリー/オントロジーを構築する方法を理解しようとしています。次の例は、私がやろうとしていることを示しています。
class Fruit {
public static $TYPES = array("APPLE" => array("GREEN" => Apple::GREEN), array("RED" => Apple::RED));
}
class Apple {
public static $GREEN = array("GRANNY_SMITH" => array("FLAVOUR" => array(Flavour::SHARP, Flavour::SWEET)),
"GOLDEN_DELICIOUS" => array("FLAVOUR" => array(Flavour::SWEET, Flavour::BLAND)));
public static $RED = array("RED_DELICIOUS" => array("FLAVOUR" => array(Flavour::SOUR, Flavour::SHARP)),
"PAULA_RED" => array("FLAVOUR" => array(Flavour::SWEET, Flavour::SOUR)));
}
class Flavour {
const SHARP = "sharp";
const SWEET = "sweet";
const SOUR = "sour";
const BLAND = "bland";
}
これから、次のような値を取得できるようにしたいと思います。
$flavours = Fruit::TYPES["APPLE"]["GREEN"]["GOLDEN_DELICIOUS"];
だから基本的に私はゴールデンデリシャスのリンゴに関連するフレーバーのリストを取得しています...PHPでこのような静的データツリーを表現するためのより良い方法はありますか?Javaでは列挙型を使用します...