Commit 24b1e31e by Nobuo Kihara

docs/guide-ja/helper-overview.md - added [ci skip]

parent c414eb3e
...@@ -191,7 +191,7 @@ RESTful ウェブサービス ...@@ -191,7 +191,7 @@ RESTful ウェブサービス
ヘルパ ヘルパ
------ ------
* **翻訳未着手** [概要](helper-overview.md) * [概要](helper-overview.md)
* **翻訳未着手** [ArrayHelper](helper-array.md) * **翻訳未着手** [ArrayHelper](helper-array.md)
* **翻訳未着手** [Html](helper-html.md) * **翻訳未着手** [Html](helper-html.md)
* **翻訳未着手** [Url](helper-url.md) * **翻訳未着手** [Url](helper-url.md)
......
ヘルパ
======
> Note|注意: この節はまだ執筆中です。
Yii は、一般的なコーディングのタスク、例えば、文字列や配列の操作、HTML コードの生成などを手助けする多くのクラスを提供しています。
これらのヘルパクラスは `yii\helpers` 名前空間の下にされており、すべてスタティックな (すなわち、スタティックなプロパティとメソッドのみを含み、インスタンス化すべきでない) クラスです。
ヘルパクラスは、そのスタティックなメソッドの一つを直接に呼び出すことによって使用します。
例えば、
```php
use yii\helpers\Html;
echo Html::encode('Test > test');
```
> Note|注意: [ヘルパクラスをカスタマイズする](#customizing-helper-classes) ことをサポートするために、Yii はコアヘルパクラスのすべてを二つのクラスに分割しています。
> すなわち、基底クラス (例えば `BaseArrayHelper`) と具象クラス (例えば `ArrayHelper`) です。
> ヘルパを使うときは、具象クラスのみを使うべきであり、基底クラスは決して使ってはいけません。
コアヘルパクラス
----------------
以下のコアヘルパクラスが Yii のリリースにおいて提供されています。
- [ArrayHelper](helper-array.md)
- Console
- FileHelper
- [Html](helper-html.md)
- HtmlPurifier
- Image
- Inflector
- Json
- Markdown
- Security
- StringHelper
- [Url](helper-url.md)
- VarDumper
ヘルパクラスをカスタマイズする <a name="customizing-helper-classes"></a>
------------------------------
コアヘルパクラス (例えば [[yii\helpers\ArrayHelper]]) をカスタマイズするためには、そのヘルパに対応する基底クラス (例えば [[yii\helpers\BaseArrayHelper]]) を拡張するクラスを作成して、名前空間も含めて、対応する具象クラス (例えば [[yii\helpers\ArrayHelper]]) と同じ名前を付けます。
このクラスが、フレームワークのオリジナルの実装を置き換えるものとしてセットアップされます。
次の例は、[[yii\helpers\ArrayHelper]] クラスの [[yii\helpers\ArrayHelper::merge()|merge()]] メソッドをカスタマイズする方法を示すものです。
```php
<?php
namespace yii\helpers;
class ArrayHelper extends BaseArrayHelper
{
public static function merge($a, $b)
{
// あなた独自の実装
}
}
```
あなたのクラスを `ArrayHelper.php` という名前のファイルに保存します。
このファイルはどこに置いても構いません。例えば、`@app/components` に置くことにしましょう。
次に、アプリケーションの [エントリスクリプト](structure-entry-scripts.md) で、次のコード行を `yii.php` ファイルをインクルードする行の後に追加して、[Yii クラスオートローダ](concept-autoloading.md) に、フレームワークから本来のヘルパクラスをロードする代りに、あなたのカスタムクラスをロードすべきことを教えます。
```php
Yii::$classMap['yii\helpers\ArrayHelper'] = '@app/components/ArrayHelper.php';
```
ヘルパクラスのカスタマイズは、ヘルパの既存の関数の振る舞いを変更したい場合にだけ役立つものであることに注意してください。
アプリケーションの中で使用する関数を追加したい場合には、そのための独立したヘルパを作成する方が良いでしょう。
...@@ -147,6 +147,9 @@ echo Url::to(['post/index'], 'https'); ...@@ -147,6 +147,9 @@ echo Url::to(['post/index'], 'https');
- ルートがスラッシュを全く含まない場合は、カレントコントローラのアクション ID であると見なされて、カレントコントローラの [[\yii\web\Controller::uniqueId|uniqueId]] の値が前置されます。 - ルートがスラッシュを全く含まない場合は、カレントコントローラのアクション ID であると見なされて、カレントコントローラの [[\yii\web\Controller::uniqueId|uniqueId]] の値が前置されます。
- ルートが先頭にスラッシュを含まない場合は、カレントモジュールに対する相対ルートと見なされて、カレントモジュールの [[\yii\base\Module::uniqueId|uniqueId]] の値が前置されます。 - ルートが先頭にスラッシュを含まない場合は、カレントモジュールに対する相対ルートと見なされて、カレントモジュールの [[\yii\base\Module::uniqueId|uniqueId]] の値が前置されます。
バージョン 2.0.2 以降では、[エイリアス](concept-aliases.md) の形式でルートを指定することが出来ます。
その場合は、エイリアスが最初に実際のルートに変換され、そのルートが上記の規則に従って絶対的ルートに変換されます。
例えば、カレントモジュールが `admin` であり、カレントコントローラが `post` であると仮定すると、 例えば、カレントモジュールが `admin` であり、カレントコントローラが `post` であると仮定すると、
```php ```php
...@@ -163,6 +166,9 @@ echo Url::to(['post/index']); ...@@ -163,6 +166,9 @@ echo Url::to(['post/index']);
// 絶対ルート: /index.php?r=post/index // 絶対ルート: /index.php?r=post/index
echo Url::to(['/post/index']); echo Url::to(['/post/index']);
// /index.php?r=post/index エイリアス "@posts" が "/post/index" と定義されていると仮定
echo Url::to(['@posts']);
``` ```
[[yii\helpers\Url::to()]] メソッドは、[[yii\web\UrlManager|URL マネージャ]] の [[yii\helpers\Url::to()]] メソッドは、[[yii\web\UrlManager|URL マネージャ]] の
......
...@@ -152,6 +152,10 @@ Composer がインストールされていれば、次のコマンドを使っ ...@@ -152,6 +152,10 @@ Composer がインストールされていれば、次のコマンドを使っ
`init` コマンドが環境を切り替えるのに使用されます。 `init` コマンドが環境を切り替えるのに使用されます。
`init` コマンドが実際にやっていることは、環境ディレクトリから、全てのアプリケーションがあるルートディレクトリへと、すべてをごっそりとコピーすることです。 `init` コマンドが実際にやっていることは、環境ディレクトリから、全てのアプリケーションがあるルートディレクトリへと、すべてをごっそりとコピーすることです。
デフォルトでは二つの環境があります。すなわち、`dev``prod` です。
最初のものは開発用の環境で、全ての開発ツールとデバッグが有効になっています。
第二のものは本番サーバ配備用の環境で、デバッグと開発ツールは無効になっています。
典型的には、環境ディレクトリは `index.php` のようなアプリケーションブートストラップファイルや、`-local.php` という接尾辞を持つ構成情報ファイルを含んでいます。 典型的には、環境ディレクトリは `index.php` のようなアプリケーションブートストラップファイルや、`-local.php` という接尾辞を持つ構成情報ファイルを含んでいます。
これらは `.gitignore` に追加されて、ソースコードレポジトリには決して追加されないようになっています。 これらは `.gitignore` に追加されて、ソースコードレポジトリには決して追加されないようになっています。
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment