关闭

12. Yii 2.0 的帮助类

标签: Yii帮助类
319人阅读 评论(0) 收藏 举报
分类:
以 Yii 2.0 基础版为例,高级版类似。
常用的系统帮助类主要有:ArrayHelper、StringHelper、Url、Html、Json等。

Yii 2.0 框架的系统帮助类目录为 /basic/vendor/yiisoft/yii2/helpers,以 Base 开头的类文件为对应帮助类的基类(父类)。

如果想对某个帮助类里面的方法进行扩展,可以在 basic 目录下,新建一个 helpers 目录,作为自定义的帮助类目录,在里面新建一个帮助类继承 Yii 的系统帮助类 或者 不继承而完全自定义一个帮助类。
  
这里,我们只介绍如何使用 Yii 2.0 系统帮助类。
在控制器层 /basic/controllers 目录,新增一个控制器文件 HelperController.php 用于演示,代码如下:
11, 'name'=>'jack', 'age'=>30],
            ['id'=>12, 'name'=>'rose', 'age'=>21],
            ['id'=>13, 'name'=>'lily', 'age'=>28],
        ];

//         $res = ArrayHelper::getColumn($arr, 'age');
//         print_r($res);

//         $res = ArrayHelper::map($arr, 'id', 'name');
//         var_dump($res);

        ArrayHelper::multisort($arr, 'age', SORT_ASC);    // 二维数组按照键名排序(很常用)
        echo json_encode($arr);
    }

    /**
     * 测试调用 StringHelper 帮助类
     */
    public function actionString()
    {
        $string = '这是一个string测试';
        echo StringHelper::truncate($string, 6, '...');
        echo '
'; var_dump(StringHelper::startsWith($string, '这是')); } /** * 测试调用 Url 帮助类 */ public function actionUrl() { // toRoute方法,根据路由规则,生成url地址 // 1.传字符串 echo Url::toRoute('site/index').'
'; // 2.传数组 echo Url::toRoute(['site/index', 'id' => '1', 'src' => 'ref1', '#' => 'name']).'
'; // 3.传两个参数,第二个参数指定是否为绝对url(或协议类型) echo Url::toRoute('site/index', true).'
'; echo Url::toRoute('site/index', 'https').'
'; // 4.传路径别名 \Yii::setAlias('posts', 'site/index'); // 设置路径别名(局部的) echo Url::toRoute('@posts').'
'; // to方法 echo Url::to(['site/index']).'
'; echo Url::to().'
'; echo Url::to('images/logo.gif').'
'; echo Url::to('@web/images/logo.gif').'
'; echo Url::to('@web/images/logo.gif', true).'
'; // 带域名的资源地址 } /** * 查看 Yii 中 已经设置好的路径别名(全局的) */ public function actionAlias() { echo \Yii::getAlias('@app').'
'; echo \Yii::getAlias('@runtime').'
'; echo \Yii::getAlias('@vendor').'
'; echo \Yii::getAlias('@bower').'
'; echo \Yii::getAlias('@npm').'
'; echo \Yii::getAlias('@webroot').'
'; echo \Yii::getAlias('@web').'
'; } /** * 测试调用 Html 帮助类 */ public function actionHtml() { // encode方法,将html特殊字符编码为html实体 $content = '<, >, ", \', \\'; echo Html::encode($content).'
'; // decode方法,将html实体解码为html特殊字符 echo Html::decode($content).'
'; } }
然后,在浏览器地址栏输入下面的地址,查看效果:
http://basic.com/helper/array
http://basic.com/helper/string
http://basic.com/helper/url
http://basic.com/helper/alias
http://basic.com/helper/html

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:238054次
    • 积分:4614
    • 等级:
    • 排名:第7013名
    • 原创:227篇
    • 转载:0篇
    • 译文:0篇
    • 评论:33条
    博客专栏
    最新评论