mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-15 05:45:33 +08:00
Merge pull request #10677 from yiijan/docs-ja-0127
Docs ja 0127 updates [ci skip]
This commit is contained in:
@@ -51,6 +51,9 @@ class MyBehavior extends Behavior
|
||||
|
||||
> Tip: ビヘイビア内から、[[yii\base\Behavior::owner]] プロパティを介して、ビヘイビアをアタッチしたコンポーネントにアクセスすることができます。
|
||||
|
||||
> Note: ビヘイビアの [[yii\base\Behavior::__get()]] および/または [[yii\base\Behavior::__set()]] メソッドをオーバーライドする場合は、同時に [[yii\base\Behavior::canGetProperty()]] および/または [[yii\base\Behavior::canSetProperty()]] もオーバーライドする必要があります。
|
||||
|
||||
|
||||
コンポーネントイベントのハンドリング
|
||||
------------------
|
||||
|
||||
|
||||
@@ -69,9 +69,11 @@ getter と setter で定義されたプロパティには、いくつかの特
|
||||
* この種のプロパティの名前と、クラスのメンバ変数の名前とが同じである場合、後者が優先されます。
|
||||
たとえば、上記の `Foo` クラスがもしメンバ変数 `label` を持っているとすると、`$object->label = 'abc'`
|
||||
という代入は *メンバ変数の* `label` に作用することになり、その行で `setLabel()` setter メソッドは呼び出されなくなります。
|
||||
* これらのプロパティは可視性をサポートしていません。プロパティが public、protected、private であるかどうかで、
|
||||
getter または setter メソッドの定義に違いは生じません。
|
||||
* プロパティは、 *静的でない* getter および setter でしか定義できません。静的メソッドは同じようには扱われません。
|
||||
* これらのプロパティは可視性をサポートしていません。プロパティが public、protected、private であるかどうかを、
|
||||
getter または setter メソッドの定義によって決めることは出来ません。
|
||||
* プロパティは、 *静的でない* getter および setter によってのみ定義することが出来ます。静的なメソッドは同様には扱われません。
|
||||
* 通常の `property_exists()` の呼び出しでは、マジック・プロパティが存在するかどうかを知ることは出来ません。
|
||||
それぞれ、`canGetProperty()` または `canSetProperty()` を呼び出さなければなりません。
|
||||
|
||||
このガイドの冒頭で説明した問題に戻ると、 `label` に値が代入されているあらゆる箇所で `trim()` を呼ぶのではなく、もう `setLabel()` という setter の内部だけで `trim()` を呼べば済むのです。
|
||||
さらに、新しい要求でラベルの先頭を大文字にする必要が発生しても、他のいっさいのコードに触れることなく、すぐに `setLabel()` メソッドを変更することができます。一箇所の変更は、すべての `label` への代入に普遍的に作用します。
|
||||
|
||||
@@ -266,6 +266,25 @@ echo GridView::widget([
|
||||
- [[yii\grid\ActionColumn::urlCreator|urlCreator]] は、指定されたモデルの情報を使って、ボタンの URL を生成するコールバックです。
|
||||
コールバックのシグニチャは [[yii\grid\ActionColumn::createUrl()]] のそれと同じでなければなりません。
|
||||
このプロパティが設定されていないときは、ボタンの URL は [[yii\grid\ActionColumn::createUrl()]] を使って生成されます。
|
||||
- [[yii\grid\ActionColumn::visibleButtons|visibleButtons]] は、各ボタンの可視性の条件を定義する配列です。
|
||||
配列のキーはボタンの名前 (波括弧を除く) であり、値は真偽値 true/false または無名関数です。
|
||||
ボタンの名前がこの配列の中で指定されていない場合は、デフォルトで、ボタンが表示されます。
|
||||
コールバックは次のシグニチャを使わなければなりません。
|
||||
|
||||
```php
|
||||
function ($model, $key, $index) {
|
||||
return $model->status === 'editable';
|
||||
}
|
||||
```
|
||||
|
||||
または、真偽値を渡すことも出来ます。
|
||||
|
||||
```php
|
||||
[
|
||||
'update' => \Yii::$app->user->can('update')
|
||||
]
|
||||
```
|
||||
|
||||
|
||||
#### チェックボックスカラム
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ PHP コードは BOM 無しの UTF-8 のみを使わなければなりません
|
||||
- クラスは `CamelCase` で命名されなければなりません。
|
||||
- 中括弧は常にクラス名の下の行に書かれるべきです。
|
||||
- 全てのクラスは PHPDoc に従ったドキュメントブロックを持たなければなりません。
|
||||
- クラス内のすべてのコードは一個のタブによってインデントされなければなりません。
|
||||
- クラス内のすべてのコードは4個の空白によってインデントされなければなりません。
|
||||
- 一つの PHP ファイルにはクラスが一つだけあるべきです。
|
||||
- 全てのクラスは名前空間に属すべきです。
|
||||
- クラス名はファイル名と合致すべきです。クラスの名前空間はディレクトリ構造と合致すべきです。
|
||||
|
||||
Reference in New Issue
Block a user