【PHP框架CodeIgniter学习】使用辅助函数—建立自己的JSONHelper

简介: 本文使用的是2.1.4版本,看的时候请注意。 官方文档:http://codeigniter.org.cn/user_guide/general/helpers.html(关于辅助函数Helper的使用) 一、辅助函数是什么         辅助函数,顾名思义,是帮助我们完成特定任务的函数。

本文使用的是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 ;
     }
 
}
 
?>

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

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
3月前
|
Serverless PyTorch 算法框架/工具
Serverless应用引擎部署问题之下个节点不可用如何解决
Serverless部署是指将应用程序部署到无服务器架构中,该架构允许开发者专注于代码而无需关心底层服务器的运行和维护;针对Serverless部署过程中可能遇到的挑战,本合集提供全面的指南和最佳实践,帮助开发者顺利实现应用的无服务器化部署。
366 2
|
2月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
12 0
|
2月前
|
PHP
从PHP开始学渗透 -- 函数
从PHP开始学渗透 -- 函数
8 0
|
3月前
|
PHP Windows
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
|
3月前
|
PHP 数据安全/隐私保护
|
3月前
|
开发框架 前端开发 小程序
分享47个PHP框架源码,总有一款适合您
分享47个PHP框架源码,总有一款适合您
67 0
|
3月前
|
开发框架 前端开发 搜索推荐
分享97个框架模板PHP源码,总有一款适合你
分享97个框架模板PHP源码,总有一款适合你
32 2
|
4月前
|
关系型数据库 MySQL Go
PHP转Go,框架选什么?
这是一期会引起广泛讨论的内容,不亚于“PHP 是世界上最好的语言”。
|
4月前
|
前端开发 PHP 数据安全/隐私保护
【PHP学习】—利用ajax原理实现密码修改功能(九)
【PHP学习】—利用ajax原理实现密码修改功能(九)