0

レイアウトで遊んでいるときに、Yii で次のコード行を見たことがあります。

<?php $this->beginContent('//layouts/main'); ?>

通常、スラッシュは 1 つしか表示されませんが、現在は 2 つ表示されています。そして、上記のコードでスラッシュを 1 つ削除すると、出力表示はまったく変化しませんでした。

では、Yii が単一のスラッシュではなく二重のスラッシュを使用する理由を教えていただけますか? そして、それらは同じ結果を返しますか? ありがとうございました。

4

1 に答える 1

3

Yii コンテキストでは、この例//layouts/mainは にレンダリングされprotected/views/layouts/main.phpます。これは、レイアウト フォルダーへのパスです。

デフォルト以外のレイアウト ディレクトリがある場合は、ダブル スラッシュを使用します。たとえば、2 つのフォルダーがlayoutsありlayouts-fancy、protected/views/{here} の下にある場合、'//' をプレフィックス パスとして使用すると、派手なレイアウトに切り替えることができます。デフォルトでは Yii が使用しますlayouts( http://www.yiiframework.com/doc/guide/1.1/en/basics.view#layoutを参照)。

より良いテストのために、新しいレイアウトを作成し、基本の Controller.phpprotected/views/layout-fancy/main.phpに変数を追加して、何が起こるかを確認してください。public $layout = '//layout-fancy/main.php';

于 2012-08-11T06:42:54.510 に答える