多階層カテゴリ構造クラスを使ってみる

カテゴリ: PHPプログラミング / 公開日: 2011年7月04日(月曜)16:26 / 投稿者: Tom Goodsun

抽象クラス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を返します。
このメソッドの戻り値には一切インスタンスは含みません。