【PHP框架CodeIgniter學習】使用輔助函式—建立自己的JSONHelper
本文使用的是2.1.4版本,看的時候請注意。
官方文件:http://codeigniter.org.cn/user_guide/general/helpers.html(關於輔助函式Helper的使用)
一、輔助函式是什麼
輔助函式,顧名思義,是幫助我們完成特定任務的函式。每個輔助函式檔案僅僅是一些函式的集合。例如,URL Helpers 可以幫助我們建立連結,Form Helpers 可以幫助我們建立表單,Text Helpers 提供一系列的格式化輸出方式,Cookie Helpers 能幫助我們設定和讀取COOKIE, File Helpers能幫助我們處理檔案,等等。
二、怎麼新建輔助函式
開啟applicationhelpers目錄,新建json_helper.php;
因為PHP自帶的json_encode 對中文的封裝不是很好,會出現u5c3cu739b這種詭異的想象,那麼我們想要的目的是輸出中文,所以就寫一個輔助函式來自己呼叫;
內容:
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/
相關文章
- CodeIgniter框架之url相關函式框架函式
- 學習PHP中統計擴充套件函式的使用PHP套件函式
- 2. PHP 函式學習 stripos ()PHP函式
- PHP 學習總結之函式PHP函式
- 使用CodeIgniter框架快速開發PHP應用(四)框架PHP
- 使用CodeIgniter框架快速開發PHP應用(一)框架PHP
- 使用CodeIgniter框架快速開發PHP應用(二)框架PHP
- PHP的Mhash擴充套件函式的學習PHP套件函式
- 1. PHP 函式學習 strpos ()PHP函式
- 3. PHP 函式學習 strrpos ()PHP函式
- 學習PHP中的URL相關操作函式PHP函式
- spark RDD的學習,filter函式的學習,split函式的學習SparkFilter函式
- php建立多層目錄的函式PHP函式
- 自己寫的和收藏的一寫php函式PHP函式
- PHP 第二週函式學習記錄PHP函式
- PHP 第五週函式學習記錄PHP函式
- PHP 第十週函式學習記錄PHP函式
- PHP 第七週函式學習記錄PHP函式
- PHP 第九周函式學習記錄PHP函式
- PHP 第八週函式學習筆記PHP函式筆記
- PHP 第三週函式學習記錄PHP函式
- PHP 第六週函式學習記錄PHP函式
- PHP 第一週函式學習記錄PHP函式
- 函式的學習函式
- PHP 自己實現var_dump函式PHP函式
- codeigniter學習1
- 分享一下自己寫的PHP函式PHP函式
- 編寫自己的php擴充套件函式 (轉)PHP套件函式
- php增量Hash函式的使用PHP函式
- 構建自己的 PHP 框架PHP框架
- jmeter學習指南之常用函式的使用JMeter函式
- 字串函式庫的經典使用學習字串函式
- PHP 第四周函式學習記錄PHP函式
- PHP 經典趣味演算法 (學習函式)PHP演算法函式
- PHP 第十一週函式學習記錄PHP函式
- PHP 第十四周函式學習記錄PHP函式
- PHP 第十三週函式學習記錄PHP函式
- PHP 第十二週函式學習記錄PHP函式