MVC を正しく理解していますか?
ユーザー teresko による多くの投稿を読み、最終的に最新の MVC の本当の概念を理解したと思います。私はそれがどのように理解されているかを示す図を作成しました。誰かがこれを確認してくれることを願っています。この図が他のユーザーに役立つかもしれません。
計画したディレクトリ構造は「スマート」ですか?
また、フォルダ構造についても知りたいです。それらを構造化する非常にスマートで効率的な方法を使用する予定があるかどうかはあまりわかりません。私のルート ディレクトリには 4 つのフォルダーがあります。モデル フォルダーには、 data_mappers、domain_objects、およびservicesという 3 つのサブディレクトリが含まれています。プレゼンテーション フォルダーには、ビューとコントローラーと呼ばれる 2 つのサブディレクトリが含まれています。ルート ディレクトリの 3 番目のフォルダーは、libと呼ばれるあまり確信が持てないフォルダーの 1 つで、別の 3 つのサブフォルダー、scripts、themes、およびtemplatesが含まれています。(これは、ビューによって呼び出されるテンプレートに適した場所ですか?)。そして、私が持っている最後のフォルダーはconfigと呼ばれます(誰かがより良い名前の提案を思い付くことができれば、歓迎されます)。これは、ルーターと基本クラス、およびそのタイプのファイルを配置する場所です。私は自分のフレームワークで機能を追求するだけではありません。技術的に健全なものにしたいのですが、提案やアドバイスは大歓迎です。インデックスやルーターなどの作成を開始する前に、この時点までの私の理解が正しいことを確認したいので、もう一度やり直す必要はありません。ありがとう
これは、MVC での多言語サポートについて良い方法ですか?
(少し話題から外れますが、これを MVC フレームワークの計画に組み込む必要があります。他のユーザーに役立つかもしれません。質問に明確かつ簡潔に答えるには、Web サイトの構造を理解する必要があり、たまたま上記で詳しく説明しています)
私のウェブサイトは英語とフランス語で利用できる必要があり、どちらもたまたま話せます。テンプレート フォルダー内にさらに 2 つのサブフォルダーを作成する予定です。1 つはenともう1 つはfrという名前で、すべての英語のテンプレートを en フォルダーに配置し、それらをフランス語に翻訳して fr フォルダーに配置し、Web サイトをセットアップするだけです。www .mywebsite.com/en/home は英語のテンプレートを示し、www.mywebsite.com/fr/home はフランス語のテンプレートを示します。
en または fr のいずれかにリダイレクトされるメインの言語選択ページがあります。次に、2 文字の言語コードを $_SESSION 変数に格納する予定です。ビューは、この $_SESSION 変数を使用して、表示するテンプレートを選択します。これは、私のウェブサイトの古いバージョンで行った方法です。これは MVC で多言語サポートを実現する良い方法ですか、それとももっと良い方法はありますか?
URL をフランス語でも表示したい場合はどうすればよいですか? ビューファイルを複数のサブフォルダーに配置し、「/presentation/views/news/news.php」のように名前を付ける代わりに、「/pre sentation/views/news_nouvelles/news.php」のように名前を付けてから、作成しますルーター (URL とルーティングは私の弱点の 1 つですが、自分で学習します ;) 英語の URL に対応する変数に「_」の前のすべてを格納し、フランス語の URL に対応する変数にすべてを格納します。これは単なる理論であり、この最後の段落にあることはまだ試していません。多言語サポートは質問よりも議論のためのものですが、繰り返しになりますが、回答するには私のフレームワークを完全に理解する必要があるため、関連性があります/言語サポートについて説明します。