助手一覽(Overview)

2018-02-24 15:40 更新

助手類

注意:這部分正在開發(fā)中。

Yii 提供許多類來簡化常見編碼,如對字條串或數(shù)組的操作, HTML 代碼生成,等等。這些助手類被編寫在命名空間?yii\helpers下,并且 全是靜態(tài)類 (就是說它們只包含靜態(tài)屬性和靜態(tài)方法,而且不能實(shí)例化)。

可以通過調(diào)用其中一個(gè)靜態(tài)方法來使用助手類,如下:

use yii\helpers\Html;

echo Html::encode('Test > test');

注意:為了支持?自定義助手類,Yii 將每一個(gè)助手類 分隔成兩個(gè)類:一個(gè)基類 (例如?BaseArrayHelper) 和一個(gè)具體的類 (例如ArrayHelper). 當(dāng)使用助手類時(shí),應(yīng)該僅使用具體的類版本而不使用基類。

核心助手類

Yii 發(fā)布版中提供以下核心助手類:

  • ArrayHelper
  • Console
  • FileHelper
  • Html
  • HtmlPurifier
  • Image
  • Inflector
  • Json
  • Markdown
  • Security
  • StringHelper
  • Url
  • VarDumper

自定義助手類

如果想要自定義一個(gè)核心助手類 (例如 yii\helpers\ArrayHelper),你應(yīng)該創(chuàng)建一個(gè)新的類繼承 helpers對應(yīng)的基類 (例如 yii\helpers\BaseArrayHelper) 并同樣的命 名你的這個(gè)類 (例如 yii\helpers\ArrayHelper),包括它的命名空間。這個(gè)類 會用來替換框架最初的實(shí)現(xiàn)。

下面示例顯示了如何自定義 yii\helpers\ArrayHelper 類的 yii\helpers\ArrayHelper::merge() 方法:

<?php

namespace yii\helpers;

class ArrayHelper extends BaseArrayHelper
{
    public static function merge($a, $b)
    {
        // 你自定義的實(shí)現(xiàn)
    }
}

將你的類保存在一個(gè)名為?ArrayHelper.php?的文件中。該文件可以在任何目錄,例如?@app/components

接下來,在你的應(yīng)用程序?入口腳本?處,在引入的?yii.php?文件后面 添加以下代碼行,用?Yii 自動加載器?來加載自定義類 代替框架的原始助手類:

Yii::$classMap['yii\helpers\ArrayHelper'] = '@app/components/ArrayHelper.php';

注意,自定義助手類僅僅用于如果你想要更改助手類中 現(xiàn)有的函數(shù)的行為。如果你想為你的應(yīng)用程序添加附加功能,最好為它創(chuàng)建一個(gè)單獨(dú)的 助手類。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號