关闭

12. Yii 2.0 的帮助类

标签: Yii帮助类
355人阅读 评论(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
查看评论

yii2.0入门心得

yii2.0中的model的理解 学了php后发现直接用php写网站实在是繁琐,关键是全部都是代码重复的判断,所以博主尝试去使用框架开发,在慢慢深入学习yii框架之后,实在是感叹框架的灵活,yii框架的强大我就不拍马屁了,今天主要讲讲我对yii框架mvc中的model的理解吧,博主也是刚刚学,所以...
  • try_mistake
  • try_mistake
  • 2016-11-27 19:30
  • 400

C# 数据缓存帮助类

using System; using System.Web; using System.Collections; namespace DotNet.Utilities { public class CacheHelper { /// /// 获取...
  • zuoyefeng1990
  • zuoyefeng1990
  • 2017-04-27 09:13
  • 175

YII2.0电商平台开发笔记

nginx+mysql+php+yiifromework+vim+composer(框架和扩展组件的开发) 前台:商品展示功能,用户购买流程; 后台:数据管理 phpStudy 安装 composer Could not open input file: ...
  • qq_33936481
  • qq_33936481
  • 2017-03-27 09:32
  • 641

Yii学习笔记之六(HTML生成帮助类api 翻译)

html帮助类 (Html helper) 参考地址:http://www.yiiframework.com/doc-2.0/guide-helper-html.html 每一个web应用都会生成许多的HTML 标签,如果标签是静态的,他就能有效的避免PHP代码和HTML之间的混淆;但是当它...
  • wujiangwei567
  • wujiangwei567
  • 2015-06-12 12:04
  • 1632

yii2 basic 框架的初层应用以及简单的增删改查

拿到一个新的装好的yii框架后 先修改config/web.php    修改密钥        'cookieValidationKey' => 'adasdadada'...
  • caozaifei
  • caozaifei
  • 2016-08-02 10:52
  • 625

19. Yii 2.0 数据分页

这里以 Yii 2.0 基础版为例,来介绍数据分页。 操作分页的类文件为 /basic/vendor/yiisoft/yii2/data/Pagination.php 首先,在 /basic/entity 目录中新建一个 User.php 文件,用于查询分页数...
  • lamp_yang_3533
  • lamp_yang_3533
  • 2016-09-07 22:08
  • 573

Yii 利用query联表查询

Yii2.0联表查询 $query = (new \yii\db\Query()) ->select('a.id as aid,title,author,addtime,c.name') ->from('articl...
  • qq_29945729
  • qq_29945729
  • 2017-02-16 11:38
  • 417

Yii2.0 批量插入数据

循环插入:第一种方法:$model=new User(); foreach($data as $attributes){ $_model=clone $model; $_model->setAttributes($attributes); $_model->...
  • Cc_Rain0624
  • Cc_Rain0624
  • 2017-08-02 15:02
  • 332

Yii2.0 多语言设置(高级版配置方法)

1.设置默认语言:在web.php配置文件加上:'language'=>'zh-CN'; 2.多语言切换 (我这边是在site控制器里面操作的所以用的'/site/language') 3.site控制器增加方法 //语言切换 publ...
  • sinat_25139121
  • sinat_25139121
  • 2017-03-15 14:39
  • 136

Yii2.0的安装与配置教程

目前有两种方法可以安装Yii2.0,一种是安装Composer,使用composer生成yii应用程序;另一种是直接下载应用程序模板。应用程序模板有基本模版和高级模版两种。他们的主要的区别就是高级模版提供了环境切换和前后台分离。
  • likunlun1234
  • likunlun1234
  • 2014-10-25 20:41
  • 4128
    个人资料
    • 访问:302972次
    • 积分:5156
    • 等级:
    • 排名:第6382名
    • 原创:233篇
    • 转载:0篇
    • 译文:0篇
    • 评论:39条
    博客专栏
    最新评论