本文使用的是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这种诡异的想象,那么我们想要的目的是输出中文,所以就写一个辅助函数来自己调用;
内容:
<code><?php</code>
<code>function</code> <code>mJson_encode(</code><code>$jsonArray</code><code>)</code>
<code>{</code>
<code> </code><code>$newArray</code> <code>= </code><code>array</code><code>();</code>
<code> </code><code>// encode</code>
<code> </code><code>for</code><code>(</code><code>$i</code> <code>= 0;</code><code>$i</code> <code>< </code><code>count</code><code>(</code><code>$jsonArray</code><code>);</code><code>$i</code><code>++)</code>
<code> </code><code>{</code>
<code> </code><code>$jsonObject</code> <code>= </code><code>$jsonArray</code><code>[</code><code>$i</code><code>];</code>
<code> </code><code>foreach</code><code>(</code><code>$jsonObject</code> <code>as</code> <code>$key</code> <code>=> </code><code>$value</code><code>)</code>
<code> </code><code>{</code>
<code> </code><code>$newObject</code><code>[</code><code>$key</code><code>] = urlencode (</code><code>$value</code><code>);</code>
<code> </code><code>}</code>
<code> </code><code>array_push</code><code>(</code><code>$newArray</code> <code>, </code><code>$newObject</code><code>);</code>
<code> </code><code>}</code>
<code> </code><code>// decode</code>
<code> </code><code>return</code> <code>urldecode (json_encode (</code><code>$newArray</code><code>));</code>
<code>}</code>
<code>?></code>
三、如何调用新建的辅助函数;
在需要调用的controller里面,加载json_helper辅助函数,$this->load->helper(‘json’);
然后按照正常调用PHP自带函数的方式调用即可。
如:
$rs = mJson_encode($data['result']);
完整测试代码:
<code>class</code> <code>UserController </code><code>extends</code> <code>CI_Controller</code>
<code> </code><code>public</code> <code>function</code> <code>__construct()</code>
<code> </code><code>parent::__construct();</code>
<code> </code><code>$this</code><code>->load->helper(</code><code>'json'</code><code>);</code>
<code> </code><code>$this</code><code>->output->set_content_type(</code><code>'application/html;charset=utf-8'</code><code>);</code>
<code> </code><code>function</code> <code>index()</code>
<code> </code><code>$this</code><code>->load->model(</code><code>'user_model'</code><code>);</code>
<code> </code><code>$data</code><code>[</code><code>'result'</code><code>] = </code><code>$this</code><code>->user_model->get_last_ten_entries();</code>
<code> </code><code>$data</code><code>[</code><code>'title'</code><code>] = </code><code>'Hello World Page Title'</code><code>;</code>
<code> </code><code>$this</code><code>->load->view(</code><code>'user_view'</code><code>, </code><code>$data</code><code>);</code>
<code> </code><code>function</code> <code>toJson()</code>
<code> </code><code>$rs</code> <code>= mJson_encode(</code><code>$data</code><code>[</code><code>'result'</code><code>]);</code>
<code> </code><code>echo</code> <code>$rs</code><code>;</code>
版权声明:本文为博主原创文章,未经博主允许不得转载。
如何联系我:【万里虎】www.bravetiger.cn
【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起)
【博客】http://www.cnblogs.com/kenshinobiy/