Yii2 ビューのコードスタイル =========================== 下記のコードスタイルが Yii 2.x コアと公式エクステンションのビューファイルに用いられています。 私たちは、あなたが自分のアプリケーションにこのコードスタイルを使うことを強制するものではありません。 あなたにとってより良いコードスタイルを自由に選んでください。 ```php <?php // 冒頭の PHP タグは全てのテンプレートファイルで不可欠。冒頭のタグに続く空行も同じく必須。 // コントローラから渡される入力変数をここで説明。 /* @var $this yii\base\View */ /* @var $form yii\widgets\ActiveForm */ /* @var $posts app\models\Post[] */ /* @var $contactMessage app\models\ContactMessage */ // 下の空行は必要。 // 名前空間に属するクラスの宣言。 use yii\helpers\Html; use yii\widgets\ActiveForm; // 下の空行は必要。 // コンテキストのプロパティを設定したり、コンテキストのセッターを呼んだり、その他のことをする。 $this->title = 'Posts'; ?> <!-- foreach、for などには、独立した PHP ブロックを使う方が良い --> <?php foreach ($posts as $post): ?> <!-- インデントのレベルに注目 --> <h2><?= Html::encode($post['title']) ?></h2> <p><?= Html::encode($post['shortDescription']) ?></p> <!-- 複数の PHP ブロックが使われる場合にそなえて、`}` ではなく、`endforeach;`、`endfor;`、`endif;` などを使う --> <?php endforeach; ?> <!-- ウィジェットの宣言は複数のコード行に分かれても良いし、分かれなくても良い --> <?php $form = ActiveForm::begin([ 'options' => ['id' => 'contact-message-form'], 'fieldConfig' => ['inputOptions' => ['class' => 'common-input']], ]); ?> <!-- インデントのレベルに注目 --> <?= $form->field($contactMessage, 'name')->textInput() ?> <?= $form->field($contactMessage, 'email')->textInput() ?> <?= $form->field($contactMessage, 'subject')->textInput() ?> <?= $form->field($contactMessage, 'body')->textArea(['rows' => 6]) ?> <div class="form-actions"> <?= Html::submitButton('Submit', ['class' => 'common-button']) ?> </div> <!-- ウィジェットの終了の呼び出しは、独立した PHP タグを持つべき --> <?php ActiveForm::end(); ?> <!-- 末尾の改行文字は必須 --> ```