URL マッピングの処理方法に苦労しています。現在、Zend Framework を使用したフォト ギャラリー システムの構築に取り組んでいます。ギャラリー システムでは、カテゴリとギャラリーを処理できます。カテゴリには、子カテゴリまたはギャラリーを含めることができます。明らかに、ギャラリーには画像があります。これは、次の URL の可能性があることを意味します...
domain.com/gallery/ <== メイン ギャラリー ページ
domain.com/gallery/category1/gallery1/ <==画像ギャラリーを表示
domain.com/gallery/category1/category2/ <== ギャラリーのギャラリーを表示
domain.com/gallery/category1/category2/gallery1 <== 画像ギャラリーを表示
domain.com/gallery/category3/gallery2/image1 <== 単一の画像ページを表示
domain.com/gallery/gallery3/ <== カテゴリが無効になっているため、画像のギャラリーが表示されます
複数のオプションを処理するにはどうすればよいですか? 常に /{category}/{gallery}/{image}/ になる単純なタスクがあれば、それをまとめることができます。しかし、変数の数が変化する場所でそれを管理する方法に苦労しています。
各ギャラリー/カテゴリ/画像に一意の名前が付けられているという前提で実行すると、ギャラリーとカテゴリが同じ名前を共有しないことを意味し、最後の変数を除くすべての変数を単純に無視できます。最後の変数を受け取り、それを画像テーブル、ギャラリー テーブル、カテゴリ テーブルと比較し、最初の変数がヒットしたときに正しいビューに転送するスクリプトをセットアップできます。これは、ギャラリー システムへの呼び出しごとにおそらく 3 つのモデル クエリを使用するため、かなりリソースを集中的に使用するように思えますが、それ以外の方法を理解することはできません。
これを最も効率的に行うためのアイデアや提案はありますか?