CodeIgniterのフォルダ、ファイル、ディレクトリ構造

⚡ スマートサマリー

CodeIgniterはPHPプロジェクトを、アプリケーションロジック、フレームワークシステムファイル、Composerベンダーパッケージ、および単一のエントリスクリプト用に予測可能なフォルダに整理するため、初心者はコードをすばやく見つけることができ、中級開発者はクリーンなMVC構造を拡張できます。

  • 📁 アプリケーションフォルダ: コントローラー、モデル、ビュー、設定、キャッシュ、ヘルパー、フック、言語、ライブラリ、ログ、およびサードパーティパッケージを格納します。
  • 🧩 システムフォルダ: フレームワークのコア、データベースドライバ、フォント、ヘルパー、言語、および組み込みライブラリが格納されています。これらのファイルを直接編集しないでください。
  • ⚙️ エントリーポイント: ルートディレクトリのindex.phpは、フレームワークを起動し、パスを設定し、すべてのHTTPリクエストをフロントコントローラ経由でルーティングします。
  • バージョンの違い: CodeIgniter 3 は application/ と system/ を使用しますが、 CodeIgniter 4では、より厳密な分離を実現するために、app/、public/、writable/フォルダが導入されました。
  • 🧪 ベンダーおよびユーザーガイド: ベンダーはデプロイするComposerパッケージを保存する場所であり、user_guideは本番サーバーから除外すべきローカルドキュメントです。

Codeイグナイターフォルダ

ファイル構造を理解する Code実際のアプリケーションを構築する前に、Igniter は不可欠です。予測可能なレイアウトにより、コントローラー、モデル、ビューをすばやく見つけ、ルーティングの問題をデバッグし、新しいチームメンバーをより迅速にオンボーディングできます。このチュートリアルでは、古典的な CodeIgniter 3 の構造は依然として広く展開されており、また、 CodeIgniter 4.xでは、app/、public/、writable/がそれぞれ独立したトップレベルフォルダとして導入されました。

は何ですか CodeIgniterのファイルとディレクトリ構造は?

その CodeIgniter のファイル構造は、フレームワークをダウンロードまたはインストールした後に付属するフォルダーと PHP ファイルのデフォルトの配置です。これにより、アプリケーション ロジックがフレームワーク コアから分離され、Composer の依存関係が分離され、index.php を介して単一のエントリ ポイントが公開されます。次の図は、ファイル構造を示しています。 Codeイグナイター:

CodeIgniterのファイル/フォルダ/ディレクトリ構造
CodeIgniterのファイル/フォルダ/ディレクトリ構造

以下は、新規インストール用の簡略化されたディレクトリツリーです。 CodeIgniter 3 のインストール:

// CodeIgniter 3 root layout
project-root/
├── application/
├── system/
├── user_guide/
├── vendor/
├── composer.json
├── composer.lock
└── index.php

トップレベルフォルダの説明

それでは、上記のファイルを見てみましょう。 Code点火装置の構造:

  • これは、アプリケーションのロジックを格納するディレクトリです。すべてのアプリケーションコードはこのディレクトリに格納されます。
  •   – このフォルダーにはフレームワークのコア ファイルが含まれています。 このディレクトリに変更を加えたり、独自のアプリケーション コードをこのディレクトリに配置したりすることはお勧めできません。
  • ユーザーガイド – このディレクトリには、次のユーザーマニュアルが含まれています。 Codeイグナイター.
  • ベンダー このディレクトリには、Composerパッケージのソースコードが含まれています。このディレクトリに関連するその他のファイルは、composer.jsonとcomposer.lockです。
  • index.phpを – これはアプリケーションへのエントリ ポイントです。

CodeIgniterアプリケーションのサブディレクトリ

それでは、ディレクトリをさらに詳しく見ていきましょう。前述のとおり、アプリケーションディレクトリにはプロジェクトコードが含まれています。このセクションでは、アプリケーションディレクトリ内の内部サブディレクトリを見ていきます。 CodeIgniterのディレクトリ構造:

  • キャッシュ – 出力およびデータベースキャッシュライブラリによって生成されたキャッシュファイルを保存します。
  • 設定 – database.php、routes.php、autoload.phpなどの設定ファイルを保持します。
  • コントローラ – すべてのアプリケーションコントローラがここで定義され、マッピングされます URL セグメントをアクションに変換します。
  • – システムファイルを拡張するカスタムコアクラスが含まれています。たとえば、他のコントローラが拡張するベースコントローラを作成する場合、このディレクトリに配置します。
  • ヘルパー – このディレクトリは CodeIgniterのフォルダ構造は、ユーザー定義のヘルパー関数に使用されます。
  • フック – フレームワークの実行サイクル中に実行される、CIフォルダ構造内のカスタムフックに使用されます。
  • 言語 複数の言語を使用するアプリケーションの言語ファイルを保存するために使用されます。
  • ライブラリ ―独自に作成したライブラリを保存するために使用されます。
  • ログ アプリケーションのログファイルはこのディレクトリに保存されます。
  • モデル – すべてのアプリケーションモデルはこのディレクトリに定義する必要があります。
  • 第三者 これは、あなたや他の開発者が作成したカスタムパッケージに使用されます。
  • ビュー アプリケーションのビューはこのディレクトリに保存されます。

アプリケーションのサブディレクトリツリーの例を以下に示します。

// application/ subdirectories
application/
├── cache/
├── config/
├── controllers/
├── core/
├── helpers/
├── hooks/
├── language/
├── libraries/
├── logs/
├── models/
├── third_party/
└── views/

CodeIgniterシステムサブディレクトリ

それでは、CIファイル構造内のシステムサブディレクトリを見ていきましょう。ここはフレームワークのソースコードが格納されている場所なので、このディレクトリ内のファイルは一切変更しないでください。

  • – これは心臓のようなものです CodeIgniter Frameworkフレームワークを構成するすべてのコアファイルはここにあります。コアファイルの機能を拡張したい場合は、アプリケーションディレクトリにカスタムコアファイルを作成する必要があります。その後、必要な動作をオーバーライドしたり、新しい動作を追加したりできます。ここを直接変更しないでください。
  • データベース データベースドライバ、キャッシュ、およびデータベース操作に必要なその他のファイルは、ここに提供されます。
  • フォント その名の通り、このディレクトリにはフォントとフォントに関する情報が含まれています。
  • ヘルパー – このディレクトリは CodeIgniterの構造フォルダには、すぐに使えるヘルパー関数が含まれています。
  • 言語 – フレームワークで使用される言語ファイルが含まれています。
  • ライブラリ – さまざまなライブラリのソースファイルが含まれています Code箱から出してすぐに使える点火装置。

システムフォルダのレイアウトは次のようになります。

// system/ subdirectories
system/
├── core/
├── database/
├── fonts/
├── helpers/
├── language/
└── libraries/

CodeIgniterユーザーガイドディレクトリ

このディレクトリは、 CodeIgniter API。このディレクトリは、アプリケーションを本番環境にデプロイする際にアップロードしないでください。サイズが大きくなり、本番サーバーには不要なドキュメントが公開されてしまうためです。

CodeIgniterベンダーディレクトリ

このディレクトリには、Composer を介してインストールするパッケージのソースファイルが含まれています。このディレクトリ内のファイルはそのままにしておき、変更を加えないでください。user_guide ディレクトリとは異なり、アプリケーションで Composer パッケージを使用する場合は、このディレクトリをアップロードする必要があります。

index.php ファイル

index.php ファイルは CodeIgniterのファイル構造には、フレームワークに制御を渡す前に環境、パス、エラー報告を定義するブートストラップコードが含まれています。このファイルはルートディレクトリにあり、すべてのHTTPリクエストのフロントコントローラーとして機能します。

認定条件 Codeイグナイター4は構造を変更する

CodeIgniter 4.xでは、セキュリティとPSR-4オートローディングを向上させるためにレイアウトが再編成されました。単一のアプリケーションフォルダではなく、より厳密に機能を分離した3つのトップレベルフォルダが表示されるようになりました。

  • app / – 以前のアプリケーション/フォルダに相当し、コントローラ、モデル、ビュー、設定、フィルタ、ライブラリを格納します。
  • 公衆/ – ウェブに公開される唯一のフォルダで、index.php、CSS、JS、および画像アセットが含まれています。
  • 書き込み可能/ – フレームワークが実行時に書き込む必要のあるキャッシュ、ログ、セッション、およびアップロードを保存します。
  • システム/ – フレームワークの中核は引き続き保持され、名前空間は以下になります Code点火装置。
  • 仕入先/ – 作曲家パッケージ。役割はCI 3と同一。
// CodeIgniter 4 root layout
project-root/
├── app/
├── public/
├── writable/
├── system/
├── vendor/
├── tests/
├── composer.json
├── env
└── spark

今日新しいプロジェクトを始めるなら、 CodeIgniter 4 が推奨バージョンです。古いコードベースを保守している場合は、上記で説明した CI 3 の構造がディスク上の表示と一致します。

と協力する Code点火装置構造の日常

各フォルダの場所が分かれば、一般的な作業は簡単になります。application/controllers/(またはCI 4ではapp/Controllers/)に新しいコントローラを作成し、config/routes.phpでルートにマッチさせ、models/にモデルを構築し、views/にあるビューファイルから出力をレンダリングします。設定はconfig/に、再利用可能なコードはhelpers/またはlibraries/に配置し、vendor/内のすべてはComposerに管理させます。このルールを守れば、プロジェクトが成長してもナビゲーションは容易なままです。

よくあるご質問

アプリケーションフォルダには、コントローラー、モデル、ビューなどのプロジェクトコードが格納されており、自由に編集できます。システムフォルダにはフレームワークのコアが格納されており、フレームワークのアップグレードによって上書きされるため、そのファイルは絶対に変更しないでください。

In CodeIgniter 4 では、PSR-4 名前空間を使用して新しいコントローラーを app/Controllers/ フォルダーに配置します。ファイル名をクラス名に一致させ、app/Config/Routes.php にルートを登録することで、フレームワークがリクエストをそのルートにディスパッチできるようになります。

いいえ。user_guideフォルダはローカルドキュメント専用です。フットプリントを削減し、本番サーバー上でフレームワークのリファレンス資料が公開されないようにするため、本番環境へのデプロイからは除外してください。一方、vendorフォルダとsystemフォルダはデプロイする必要があります。

index.php ファイルはフロントコントローラーです。環境を設定し、パス定数を定義し、フレームワークのブートストラップをロードして、すべての受信リクエストがルーティングされるようにします。 Codeコントローラーやビューに到達する前に、Igniterパイプラインを実行します。

はい。GitHub Copilot、Cursor、ClaudeなどのAIツールは、コントローラー、モデル、ビューを正しいフォルダーにスキャフォールディングし、馴染みのないファイルについて説明し、配置が間違っているクラスを指摘することができます。これらは、特に、 Codeイグナイター3と CodeIgniter 4 のレイアウト。

AIアシスタントは、コントローラーがリクエストを処理する方法、モデルがデータを管理する方法、ビューが出力をレンダリングする方法を説明し、適切なフォルダーに一致するファイルを生成します。また、コードをレビューし、リファクタリングを提案し、実際の開発中にMVCの分離を強化することもできます。 Codeイグナイタープロジェクト。