CodeIgniter を使い始めたばかりで、通常のモジュール/関数をハッシュして、MVC フレームワーク内で適切に動作させようとしています。CodeIgniter の経験が豊富な方に、いくつか具体的な質問があります。
セッション
CodeIgniter セッションは、クライアント側のセッション データを Cookie に保存しますが、これはうまくいきません。それに代わるものがいくつかあることは知っています。または、独自のライブラリ/ヘルパーを構築することもできます。しかし、単に使用するだけでは何のメリットもありません$_SESSION
。
を使用した場合$_SESSION
、フレームワークの残りの部分に問題はありますか? フレームワークの他の部分は、CodeIgniter セッションの使用に依存していますか?
フレームワークの外に出て、とても基本的なことをするのは少し奇妙に感じますが、プレーンな PHP にはかなり慣れています。私は基本的に、MVC に CodeIgniter を使用し、プロジェクトによりモジュール的な側面を適用することを検討しています。
コードフローと構成
他のほとんどすべての前に実行する必要がある構成項目がいくつかあります。
たとえばAPP_LIVE
、現在のサーバーの名前に基づいて true/false が設定される定数があるとします。パス、エラー報告、CodeIgniter システム、アプリケーション フォルダなどがそれに基づいて設定されるため、これは非常に早い段階で行われる必要があります。
問題は、(コードが実行されているサーバーに基づいて設定されるsystem_folder
) と(コードが実行されているサーバーに基づいて設定される) が、いずれかの構成がロードされる前に、ファイル内で最初に設定されることです。application_folder
index.php
また、URL 内のものをチェックする関数があり、ページが読み込まれる前にリダイレクトされる場合があります。たとえば、一部のページでwww.
は、(SEO 用に) URL に が含まれていることを確認したり、アフィリエイト、訪問者のソース、マーケティング フラグなどを追跡したりする必要があります。
このような非常に早期に行わなければならないものを配置するのに最適な場所はどこですか? 構成ファイル、オートロード ファイル、定数ファイルなどがあることは知っていますが、一部のアイテムには遅すぎます。index.php
これらのものをメインファイルの先頭に単純に配置したり、グローバル構成ファイルにインクルードしたりするのは悪い習慣ですか? 繰り返しますが、フレームワークの外に出ているような気がします。まだしっかりと理解していないので、それをしているだけなのだろうか?
レイアウト / ヘッダー フッター
ほとんどの人と同じように、トップ ヘッダー、ナビゲーション、フッターなどがあります。ページ テンプレートに含まれるファイルにそれらを含めることに慣れています。それらをビューにしてメインページビューに含めるだけで、同じようにできると思います。それが最善の方法ですか?それらのいくつかは少しのデータを必要とします。ナビゲーションのためにどのページにいるのかなど。ナビゲーション、共有ヘッダー/フッターなどを処理する最良の方法は何ですか?