本文使用的是2.1.4版本,看的时候请注意。

官方文档:http://codeigniter.org.cn/user_guide/general/helpers.html(关于辅助函数Helper的使用)

一、辅助函数是什么

        辅助函数,顾名思义,是帮助我们完成特定任务的函数。每个辅助函数文件仅仅是一些函数的集合。例如,URL Helpers 可以帮助我们创建链接,Form Helpers 可以帮助我们创建表单,Text Helpers 提供一系列的格式化输出方式,Cookie Helpers 能帮助我们设置和读取COOKIE, File Helpers能帮助我们处理文件,等等。

二、怎么新建辅助函数

打开application\helpers目录,新建json_helper.php;

因为PHP自带的json_encode 对中文的封装不是很好,会出现\u5c3c\u739b这种诡异的想象,那么我们想要的目的是输出中文,所以就写一个辅助函数来自己调用;

内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function mJson_encode($jsonArray)
{
    $newArray array();
    // encode
    for($i = 0;$i count($jsonArray);$i++)
    {
        $jsonObject $jsonArray[$i];
 
        foreach($jsonObject as $key => $value)
        {
            $newObject[$key] = urlencode ($value);
        }
        array_push($newArray $newObject);
    }
    // decode
    return urldecode (json_encode ($newArray));
}
?>

三、如何调用新建的辅助函数;

在需要调用的controller里面,加载json_helper辅助函数,$this->load->helper(‘json’);
然后按照正常调用PHP自带函数的方式调用即可。

如:

$rs = mJson_encode($data['result']);

完整测试代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
class UserController extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper('json');
        $this->output->set_content_type('application/html;charset=utf-8');
    }
    function index()
    {
        $this->load->model('user_model');
        $data['result'] = $this->user_model->get_last_ten_entries();
        $data['title'] = 'Hello World Page Title';
        $this->load->view('user_view'$data);
    }
    function toJson()
    {
        $this->load->model('user_model');
        $data['result'] = $this->user_model->get_last_ten_entries();
        $data['title'] = 'Hello World Page Title';
        $rs = mJson_encode($data['result']);
        echo $rs;
    }
 
}
 
?>

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. 拼图小游戏之计算后样式与CSS动画的冲突
  2. SAP GUI的配置文件
  3. c++ 宏定义声明类,并在类中实现回调
  4. linux命令行将已有项目提交到github
  5. linux学习之——vim简明教程
  6. bootstrap-datepicker的使用
  7. exception
  8. XSS代码触发条件,插入XSS代码的常用方法
  9. Java和Python运行速度对比
  10. CI 同时上传多个图片
  11. android java 堆栈的实现
  12. C基础知识小总结(十)
  13. JVM方法调用栈
  14. 开发中常用的 $.extend 总结
  15. Unity性能优化——LOD技术
  16. HTML 颜色
  17. ubuntu14.04 64位 安装eclipse
  18. iOS开发小技巧总结
  19. kubernetes系列08—service资源详解
  20. JVM,Tomcat与OSGi类加载机制比较

热门文章

  1. C#集合之Hashtable
  2. C#多线程同步
  3. JavaScript中事件绑定的方法总结
  4. JSP九大内置对象(转载)
  5. 14_CXF发布REST服务
  6. hibernate初探
  7. 关于MessageBox的用法
  8. 浅析JAVA设计模式(一)
  9. socket通信_笔记
  10. php 加密解密方法