W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
注意:這部分正在開(kāi)發(fā)中。
Yii 提供許多類(lèi)來(lái)簡(jiǎn)化常見(jiàn)編碼,如對(duì)字條串或數(shù)組的操作, HTML 代碼生成,等等。這些助手類(lèi)被編寫(xiě)在命名空間?yii\helpers
下,并且 全是靜態(tài)類(lèi) (就是說(shuō)它們只包含靜態(tài)屬性和靜態(tài)方法,而且不能實(shí)例化)。
可以通過(guò)調(diào)用其中一個(gè)靜態(tài)方法來(lái)使用助手類(lèi),如下:
use yii\helpers\Html;
echo Html::encode('Test > test');
注意:為了支持?自定義助手類(lèi),Yii 將每一個(gè)助手類(lèi) 分隔成兩個(gè)類(lèi):一個(gè)基類(lèi) (例如?
BaseArrayHelper
) 和一個(gè)具體的類(lèi) (例如ArrayHelper
). 當(dāng)使用助手類(lèi)時(shí),應(yīng)該僅使用具體的類(lèi)版本而不使用基類(lèi)。
Yii 發(fā)布版中提供以下核心助手類(lèi):
如果想要自定義一個(gè)核心助手類(lèi) (例如 yii\helpers\ArrayHelper),你應(yīng)該創(chuàng)建一個(gè)新的類(lèi)繼承 helpers對(duì)應(yīng)的基類(lèi) (例如 yii\helpers\BaseArrayHelper) 并同樣的命 名你的這個(gè)類(lèi) (例如 yii\helpers\ArrayHelper),包括它的命名空間。這個(gè)類(lèi) 會(huì)用來(lái)替換框架最初的實(shí)現(xiàn)。
下面示例顯示了如何自定義 yii\helpers\ArrayHelper 類(lèi)的 yii\helpers\ArrayHelper::merge() 方法:
<?php
namespace yii\helpers;
class ArrayHelper extends BaseArrayHelper
{
public static function merge($a, $b)
{
// 你自定義的實(shí)現(xiàn)
}
}
將你的類(lèi)保存在一個(gè)名為?ArrayHelper.php
?的文件中。該文件可以在任何目錄,例如?@app/components
。
接下來(lái),在你的應(yīng)用程序?入口腳本?處,在引入的?yii.php
?文件后面 添加以下代碼行,用?Yii 自動(dòng)加載器?來(lái)加載自定義類(lèi) 代替框架的原始助手類(lèi):
Yii::$classMap['yii\helpers\ArrayHelper'] = '@app/components/ArrayHelper.php';
注意,自定義助手類(lèi)僅僅用于如果你想要更改助手類(lèi)中 現(xiàn)有的函數(shù)的行為。如果你想為你的應(yīng)用程序添加附加功能,最好為它創(chuàng)建一個(gè)單獨(dú)的 助手類(lèi)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: