MySQL データベースにアクセスする既存の Web アプリケーションがあります。このアプリケーションを Symfony に移植しています。アプリケーション全体を一度に移植することはできないため、新しいアプリケーションは古いデータベースを使用する必要があります。つまり、古いアプリケーションと新しいアプリケーションが同じデータベースにアクセスし、アプリケーションが同時に実行されます。
古いアプリケーションには、移植する必要がある単純な CMS 機能がありました。
page
ページツリーを表すテーブルがあります。すべてのページにはslug
フィールドがあります。URL パスは、ページ ノードを識別するパスを表すスラッグで構成されます"/[parent-slug]/[child-slug]"
。
ページ テーブルには、content
フィールドも含まれています。既に述べたように、CMS の機能は非常に単純であるため、コンテンツはページ レイアウト内のページ コンテンツとしてレンダリングされるだけです。ページ エントリは、ページ レイアウト/テンプレートも指定します。
私の問題は、ルーティングの設定方法がわからないことです。通常の Symfony アプリケーションでは、以前から URL パターンを知っていましたが、この場合は動的です。また、ルートはユーザーがいつでも変更できるため、キャッシュできません。Symfony のルーティングを完全に落として、自分で何かを実装する必要があるのだろうか。しかし、どのように?
ここで、フレームワーク VS CMS ルーティングの競合について多くのことを伝える Symfony CMF を見つけました。だから最初は、これが正しい方法だと思いました。ただし、チュートリアルは、PHPRC に基づいてまったく新しいアプリケーションを構築することを目的としています。チュートリアルの概念を自分のユース ケースに当てはめることができませんでした。