注意:本節仍在開發中。
Yii 提供了許多類別來簡化常見的編碼任務,例如字串或陣列操作、HTML 程式碼產生等等。這些 helper 類別組織在 yii\helpers
命名空間下,並且都是靜態類別(意味著它們僅包含靜態屬性和方法,不應被實例化)。
您可以透過直接呼叫 helper 類別的靜態方法來使用它,如下所示:
use yii\helpers\Html;
echo Html::encode('Test > test');
注意:為了支援自訂 helper 類別,Yii 將每個核心 helper 類別分解為兩個類別:一個基礎類別(例如
BaseArrayHelper
)和一個具體類別(例如ArrayHelper
)。當您使用 helper 時,您應該僅使用具體版本,而永遠不要使用基礎類別。
Yii 版本中提供了以下核心 helper 類別:
要自訂核心 helper 類別(例如 yii\helpers\ArrayHelper),您應該建立一個新類別,從 helper 對應的基礎類別(例如 yii\helpers\BaseArrayHelper)擴展而來,並將您的類別命名為與對應的具體類別相同的名稱(例如 yii\helpers\ArrayHelper),包括其命名空間。然後,將設定此類別以取代框架的原始實作。
以下範例示範如何自訂 merge() 方法 yii\helpers\ArrayHelper 類別
<?php
namespace yii\helpers;
class ArrayHelper extends BaseArrayHelper
{
public static function merge($a, $b)
{
// your custom implementation
}
}
將您的類別儲存在名為 ArrayHelper.php
的檔案中。該檔案可以位於任何目錄中,例如 @app/components
。
接下來,在您應用程式的進入點腳本中,在包含 yii.php
檔案後新增以下程式碼行,以告知 Yii 類別自動載入器 載入您的自訂類別,而不是框架的原始 helper 類別:
Yii::$classMap['yii\helpers\ArrayHelper'] = '@app/components/ArrayHelper.php';
請注意,只有當您想要變更 helper 現有函數的行為時,自訂 helper 類別才有用。如果您想要新增其他函數以在您的應用程式中使用,那麼您最好為此建立一個單獨的 helper。
發現錯字或您認為此頁面需要改進?
在 github 上編輯 !
註冊 或 登入 以發表評論。