W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
注意:這部分正在開發(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ā)布版中提供以下核心助手類:
如果想要自定義一個(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ú)的 助手類。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: