Nobuo Kihara
10 years ago
1 changed files with 54 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||||||
|
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(); ?> |
||||||
|
<!-- 末尾の改行文字は必須 --> |
||||||
|
|
||||||
|
``` |
Loading…
Reference in new issue