開発者はクラスのすべてのメソッドを実装せず、必要なメソッドのみを使用またはオーバーライドできます。ある抽象メソッドを拡張しなければ、このメソッドは単純に何も実行しません。クラスのプロパティは拡張クラスによって設定されることを想定しています。多くの場合、インスタンスの生存期間にわたり値を変えるべきではありません。$db_fields必須。して処理するかを指定する必要があります。データベースフィールドの名前、したがってプロパティ名になります。このプロパティは2つのキー「parent」と「id」の連想配列である必要があります。ID」をもつオブジェクトプロパティの名前です。$tree_typeオプション。クラス自身はこの値を使わず、開発者の便宜のため存在します。クラスでこのプロパティに値「category」や「ページ」を設定します。$max_pagesオプション。より探索される最大ページ数。抽象メソッド以下のメソッドは抽象メソッドです。必要に応じて子クラスで明示的に定義する必要があります。参照渡しの点に注意してください。メソッド内での変数の変更は自動的に処理されます。