無限分類は開発においてよく使われる設計手法であり、この記事では主にPHPでの無限分類の実装方法を紹介します。
無限分類は、Web サイトのディレクトリ、部門構造、記事の分類など、開発でよく使用される設計手法です。著者は、これがテーブルの階層構造の設計に大きな役割を果たしていると感じています。たとえば、いくつかのプラットフォームでは、
招待者を記入すると、上司と部下の関係になり、上司は複数の部下を持ち、部下は独自の分岐を持ちます。それらのほとんどは再帰的なアイデアを使用して実装されます。さっそく、再帰の実装を確認してみましょう。
再帰 (プログラムが自分自身を呼び出すプログラミング手法):
1. $_GLOBALS[結果]
2. 静的な $result
3.パラメータ参照&
例: トラバース 1-10
リーリー1. 無限分類の実装:
1. テーブル設計で親 ID を設定し、最上位の親 ID を 0 に設定して、家系図を確立するには、各カテゴリがその親 ID を記録する必要があります。 (pid=0 はトップレベルを表します)
id pid catename cateorder createtime (主キー ID、親 ID、カテゴリ名、カテゴリの並べ替え、作成時刻)
例: Web サイトのカテゴリー ディレクトリ構造、ケータリングのカテゴリー構造、コメントの構造。
2. フルパスの無制限の分類 (すべての親 ID を 1 つのフィールドに順番に記録します)
id path catename cateorder createtime (主キー ID、カンマ区切りの親 ID、カテゴリ名、カテゴリの並べ替え、作成時刻)
メリットとデメリット:
フルパス クエリは便利です。また、分類を移動する場合、データのメンテナンスが少し複雑になります。
2. 実装例 (Web サイトのディレクトリ):
分類表:
リーリー画像が配置されているディレクトリ パスを取得します。
リーリー*気をつけて:
モバイル カテゴリはそれ自体およびそのサブカテゴリの下に移動できません。カテゴリは削除できます (削除できるのは最下位のカテゴリのみで、サブカテゴリのないカテゴリ。つまり、削除できるのは最下位レベルからのみです)。
画像タイプの下にあるすべての画像カテゴリについて考えてみませんか?
リーリーこのメソッドは、親カテゴリにあるすべての書籍と記事をクエリする場合により適しています。 。 。もちろん、フルパスを直接取得することもできるので、ここでは触れません。
実際の運用では、実際の状況に応じて合理的なテーブル構造を設計できます。
例えば、チェーンストアが商品管理を行っている場合、そのストアのアカウント設定はエージェントポイントの分割によっては上司と部下の関係になるため、このような無制限の分類方法を使用することになります。この種の関係システムを使用すると、各アカウント レベルを設定するだけで、さまざまなストアに対する権限の配分を設定できるようになります。