ホームページ > 記事 > PHPフレームワーク > Yii 実装はレイアウト ファイルをロードしません
Yii フレームワークは、テンプレートをレンダリングするときにデフォルトでレイアウトをレンダリングします。新しく作成されたプロジェクトには、3 つのデフォルト レイアウトも含まれています: main.php
、column1 .php
、column2.php
、およびパブリック コントローラー Controller.php
(コンポーネント ディレクトリ内) がデフォルトで作成され、デフォルトの SiteController.php
は継承された Controller.php です。このコントローラーはレイアウト ファイルを column1.php
として指定します。
まず、テンプレートをレンダリングするために必要な手順を見てみましょう:
1. コントローラーに $this->render('index' を渡します) )
で、index.php ビュー ファイルのレンダリングを開始します;
2. インデックスをレンダリングするときは、まず index.php
内の PHP スクリプトを解析し、解析した結果を保存します。 $content
変数に;
3. システムは、レイアウト ファイルが指定されているかどうかを確認します。まず、コントローラーの $this->layout
属性を探します。この値が空でない場合、render()
はレイアウト ファイルをレンダリングし、$content
値をレイアウト ファイル内の変数として使用します。つまり # を使用します。レイアウト ファイル内の ##79c0f0195a0f674f5ee807504d2f5289 は、解析されたコンテンツをindex.php に出力でき、このレイアウトは # でデフォルトで
column1.php として指定されます。 ##Controller
、このレイアウトでは、プロジェクトのデフォルトのレイアウト ファイル main.php がネストされています。 4. コントローラーがレイアウト属性を指定しない場合、コントローラーはプロジェクト設定でレイアウト属性 (
のレイアウト属性) を検索します。この属性は手動で指定する必要はありません。デフォルトは views/layouts/main.php
ファイルです。 render
を通じてこのレイアウト ファイルを解析し、index.php のコンテンツを $content 変数に渡します。 つまり、デフォルトの状況によれば、ビューをレンダリングするには 3 つのファイル、つまり
、column1.php
、# をレンダリングする必要があります。 ##メイン .php。
レイアウトモードに慣れていない人にとっては、間違いなく手間が増えるでしょう。
Close メソッド:
ただし、レイアウト モードをオフにするのは非常に簡単です。Controller
でlayout プロパティを設定できます。
falseまでで十分です。
例は次のとおりです:
SiteController extends Controller{ public $layout=false; //重写这个属性就可以了 //其他方法 }推奨される関連記事とチュートリアル:
yii チュートリアル
以上がYii 実装はレイアウト ファイルをロードしませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。