Yii-アプリケーション構造

コードベース全体で、Webサーバーで公開されているフォルダーは1つだけです。それはウェブディレクトリです。Webルートディレクトリ外の他のフォルダは、Webサーバーの手の届かないところにあります。

Note −すべてのプロジェクトの依存関係は composer.jsonファイル。Yii2には、Composerによってプロジェクトにすでに含まれているいくつかの重要なパッケージがあります。これらのパッケージは次のとおりです-

  • Gii –コード生成ツール
  • デバッグコンソール
  • Codeceptionテストフレームワーク
  • SwiftMailerライブラリ
  • Twitter BootstrapUIライブラリ

最初の3つのパッケージは、開発環境でのみ役立ちます。

Yii2のアプリケーション構造は正確で明確です。以下のフォルダが含まれています-

  • Assets −このフォルダーには、Webページで参照されているすべての.jsファイルと.cssファイルが含まれています。

  • Commands −このフォルダには、端末から使用できるコントローラが含まれています。

  • Config −このフォルダには config データベース、アプリケーション、およびアプリケーションパラメータを管理するためのファイル。

  • Mail −このフォルダにはメールレイアウトが含まれています。

  • Models −このフォルダーには、アプリケーションで使用されるモデルが含まれます。

  • Runtime −このフォルダはランタイムデータを保存するためのものです。

  • Tests −このフォルダーには、すべてのテスト(受け入れ、ユニット、機能)が含まれます。

  • Vendor −このフォルダーには、Composerが管理するすべてのサードパーティパッケージが含まれています。

  • Views−このフォルダーは、コントローラーによって表示されるビュー用です。レイアウトフォルダには、ページのテンプレートです。

  • Web −Webからのエントリポイント。

アプリケーション構造

以下は、アプリケーション構造の図式表現です。

Yii2 –オブジェクト

次のリストには、すべてのYii2のオブジェクトが含まれています-

モデル、ビュー、およびコントローラー

モデルはデータ表現用です(通常はデータベースから)。ビューはデータを表示するためのものです。コントローラは、要求を処理し、応答を生成するためのものです。

コンポーネント

再利用可能な機能を作成するために、ユーザーは独自のコンポーネントを作成できます。コンポーネントは、ロジックを含む単なるオブジェクトです。たとえば、コンポーネントはウェイトコンバーターである可能性があります。

アプリケーションコンポーネント

これらは、アプリケーション全体で1回だけインスタンス化されたオブジェクトです。コンポーネントとアプリケーションコンポーネントの主な違いは、後者はアプリケーション全体で1つのインスタンスしか持てないことです。

ウィジェット

ウィジェットは、ロジックとレンダリングコードの両方を含む再利用可能なオブジェクトです。ウィジェットは、たとえば、ギャラリースライダーである可能性があります。

フィルター

フィルタは、コントローラアクションの実行の前または後に実行されるオブジェクトです。

モジュール

モジュールは、モデル、ビュー、コントローラーなどを含む再利用可能なサブアプリと見なすことができます。

拡張機能

拡張機能は、Composerで管理できるパッケージです。