12. Yii 2.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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值