博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【PHP框架CodeIgniter学习】使用辅助函数—建立自己的JSONHelper
阅读量:6828 次
发布时间:2019-06-26

本文共 1796 字,大约阅读时间需要 5 分钟。

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

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

转载于:https://www.cnblogs.com/kenshinobiy/p/4724580.html

你可能感兴趣的文章
MS UC 2013-0-虚拟机-标准化-部署-2-模板机-制作-5
查看>>
最常用的四种数据分析方法
查看>>
c++学习笔记:类的若干基础问题
查看>>
ubuntu更改sso文件策略
查看>>
业务开发测试HBase之旅三:通过Java Api与HBase交互
查看>>
JS父页面获取子页面返回值
查看>>
鼠标点击主窗体时,模态子窗口是WindowStyle.None时如何闪烁
查看>>
LABJS源码浅析
查看>>
myShellcode
查看>>
Qore Oracle Module 2.2 发布
查看>>
MoonScript 0.2.2 发布,基于 Lua 的脚本语言
查看>>
assertThat使用方法
查看>>
2013年11月11日工商银行笔试总结
查看>>
Qt之问题求助——当VS遇到“向Pro中添加代码”怎么办?
查看>>
使用reserve函数避免vector和string的内存重新分配
查看>>
ADO.NET(内含存储过程讲解)
查看>>
利用TreeView实现C#工具箱效果
查看>>
PyTalk : a Jabber Client un Python using xmpppy and PyQt4
查看>>
C++类构造函数初始化列表(转)
查看>>
13最佳WordPress的维护插件
查看>>