Yii扩展类放在extensions目录下面使用方法

jerry Yii 2015年08月18日 收藏
class Helper extends CController{
    public static function truncate_utf8_string($string, $length, $etc = '...'){
        $result = '';
        $string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
        $strlen = strlen($string);
        for ($i = 0; (($i < $strlen) && ($length > 0)); $i++){
            if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0')){
                if ($length < 1.0){
                    break;
                }
                $result .= substr($string, $i, $number);
                $length -= 1.0;
                $i += $number - 1;
            }else{
                $result .= substr($string, $i, 1);
                $length -= 0.5;
            }
        }
        $result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
        if ($i < $strlen){
            $result .= $etc;
        }
        return $result;
    }
}

然后就可以在自己的代码中引用了Helper::truncate_utf8_string('XXXXXXXXXXX',10,'.......');
如果出现问题可以在config/main.php中加入在import引入要夹在扩展的目录
类似:

'import'=>array(
        'application.models.*',
        'application.components.*',
        'application.extensions.*',
        'application.extensions.yii-mail.*',
    ),