多階層カテゴリ構造クラスを使ってみる
抽象クラスMultilevelCategory
抽象クラスMultilevelCategoryを継承し、以下の抽象メソッドを定義してください。
protected function getCategoryIdFieldName()
戻り値の型:string
カテゴリIDのフィールド名。
protected function getCategoryNameFieldName()
戻り値の型:string
カテゴリ名のフィールド名。
protected function getParentIdFieldName()
戻り値の型:string
親カテゴリIDのフィールド名。
protected function getCategoryData()
戻り値の型:array
DBの取得値を想定していますので、2次元配列になるようにしてください。
public final function __construct()
コンストラクタ。
protected function getParentDetectedValues()
戻り値の型:array
トップレベルのカテゴリに設定される親カテゴリIDの規定値を返します。
こちらで設定したIDはトップレベルカテゴリとして判定されます。
デフォルトはarray(0)が返されます。
public function getCategories()
戻り値の型:array
カテゴリのツリー構造を返します。
この戻り値をダンプしないでください。
参照値がループするため、正常にダンプできません。
public function getCategoryById($id)
第1引数:int $id
戻り値の型:Category
カテゴリIDを元にCategoryクラスのインスタンスを返します。
特定できないカテゴリIDが指定された場合、NULLを返します。
public function getArrayCopy()
戻り値の型:array
カテゴリのツリー構造を配列で返却します。
このメソッドの戻り値には一切インスタンスは含みません。
public function getArrayCopyById($id)
第1引数:int $id
戻り値の型:array
カテゴリIDを元にCategoryクラスからのツリー構造を配列で返します。
特定できないカテゴリIDが指定された場合、NULLを返します。
このメソッドの戻り値には一切インスタンスは含みません。