PHP之CI框架學(xué)習(xí)講解
一、前言
CodeIgniter 是一個(gè)簡(jiǎn)單快速的PHP MVC框架。EllisLab 的工作人員發(fā)布了 CodeIgniter。CodeIgniter 是一套小巧但功能強(qiáng)大的、給 PHP 網(wǎng)站開(kāi)發(fā)者使用的 Web 應(yīng)用程序開(kāi)發(fā)框架和工具包。它為組織提供了足夠的自由支持,允許開(kāi)發(fā)人員更迅速地工作。
二、CI的工作流程
- 1.index.php作為前端控制器,初始化運(yùn)行CodeIgniter所需要的基本資源。
- 2.Router檢查HTTP請(qǐng)求,以確定誰(shuí)來(lái)處理請(qǐng)求。
- 3.如果緩存(Cache)文件存在,它將繞過(guò)通常的系統(tǒng)執(zhí)行順序,被直接發(fā)送給瀏覽器。
- 4.安全(Security)。應(yīng)用程序控制器(ApplicationController)裝載之前,HTTP請(qǐng)求和任何用戶提交的數(shù)據(jù)將被過(guò)濾。
- 5.控制器(Controller)裝載模型、核心庫(kù)、插件、輔助函數(shù),以及任何處理特定請(qǐng)求所需的其它資源。
- 6.最終視圖(View)渲染發(fā)送到Web瀏覽器中的內(nèi)容。如果開(kāi)啟緩存(Caching),視圖首先被緩存,所以將可用于以后的請(qǐng)求。
三、CI入門
手冊(cè)地址:http://codeigniter.org.cn/user_guide/
1、查看ci框架的版本號(hào)
項(xiàng)目中全局搜索:CI_VERSION define('CI_VERSION', '2.x');
2、 CI框架設(shè)置默認(rèn)的控制器
1.進(jìn)入application的config文件夾下,找到routes.php 2.看到設(shè)置:$route['default_controller'] = "test"; // 含義是默認(rèn)訪問(wèn)test控制器的index方法
3、核心類庫(kù)的調(diào)用方式(system/core/config.php)
(1)控制器中調(diào)用核心庫(kù) $aa = $this->config->base_url(); (2)控制器中調(diào)用邏輯文件 $this->load->biz('test/test1'); // test1.php就是邏輯文件名
4、系統(tǒng)類庫(kù)的調(diào)用(system/libraries/config.php)
$this->load->library('class_name'); //調(diào)用單個(gè)文件 $this->load->library(array('email', 'table')); //調(diào)用多個(gè)文件 $this->class_name->error_array(); //調(diào)用結(jié)束之后,就可以直接使用系統(tǒng)類庫(kù)中的方法
5、輔助函數(shù)類的調(diào)用 (system/helps/test.php)
$this->load->library('test'); $casUserInfo = $this->test->xxx(); // 調(diào)用完可直接使用
6、模型類的調(diào)用 (system/models/model_name.php)
$this->load->model('blog/model_name'); 引用位于子目錄下模型 $this->model_name->method(); 加載之后,你就可以通過(guò)一個(gè)和你的類同名的對(duì)象訪問(wèn)模型中的方法。
7、渲染頁(yè)面
$this->load->view($template, $data, TRUE);
8、其他調(diào)用(redis)
//需要在config文件夾新建redis.php文件,里面寫上配置等 $this->load->redis('key的名字'); //redis
9、獲取和設(shè)置config的值
echo $this->config->item('charset'); //獲取config中配置的charset值 $this->config->set_item('charset', 'gbk') //重新設(shè)置config中charset的值
10、以上方法皆為在controller中的調(diào)用,如果不在controller中怎么辦?
要你自定義的類庫(kù)中訪問(wèn)CodeIgniter的原始資源,你必須使用 get_instance() 函數(shù).這個(gè)函數(shù)返回一個(gè)CodeIgniter super object. $CI = &get_instance(); $CI->load->config('test1'); //加載core下的配置文件,例如test1.php $CI->load->model('xxx/test_db'); // 加載model下的文件 $CI->load->library('http'); //加載 library下的文件 $CI->load->redis('test'); // 調(diào)用redis $CI->load->rabbitmq('test'); // 調(diào)用rabbitmq $CI->load->view($template, $data, TRUE); // 渲染頁(yè)面
11、ci的命令行調(diào)用
調(diào)用方式:php index.php 控制器 方法 參數(shù)
示例:
*/1 * * * * php 項(xiàng)目目錄/index.php test test_1 0 > /dev/null 2>&1
解釋:
(1)類似于其他框架的命令行模式,前面是php位置,后面是項(xiàng)目根目錄的index,php (2) 后面的是用空格隔開(kāi)的,控制器文件名(application里面的),方法名,參數(shù) (3)方法示例: // 這個(gè)就是對(duì)應(yīng)的方法,$index是參數(shù) public function test_1($index = 0) {}
12、優(yōu)秀入門博文推薦
https://www.cnblogs.com/lovele-/p/9434328.html https://blog.csdn.net/qq_21806621/article/details/70992328 https://www.cnblogs.com/xiaoxiaoqingyi/p/6654190.html
到此這篇關(guān)于PHP之CI框架學(xué)習(xí)講解的文章就介紹到這了,更多相關(guān)PHP之CI框架講解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- php框架CI(codeigniter)自動(dòng)加載與自主創(chuàng)建對(duì)象操作實(shí)例分析
- 關(guān)于PHP5.6+版本“No input file specified”問(wèn)題的解決
- php過(guò)濾htmlspecialchars() 函數(shù)實(shí)現(xiàn)把預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體用法分析
- 為Plesk PHP7啟用Oracle OCI8擴(kuò)展方法總結(jié)
- nginx+php出現(xiàn)No input file specified解決辦法
- PHP htmlspecialchars()函數(shù)用法與實(shí)例講解
- PHP htmlspecialchars_decode()函數(shù)用法講解
- PHP htmlspecialchars() 函數(shù)實(shí)例代碼及用法大全
相關(guān)文章
Thinkphp5.0 框架實(shí)現(xiàn)控制器向視圖view賦值及視圖view取值操作示例
這篇文章主要介紹了Thinkphp5.0 框架實(shí)現(xiàn)控制器向視圖view賦值及視圖view取值操作,結(jié)合實(shí)例形式分析了thinkPHP控制器向視圖傳值及從視圖取值相關(guān)操作技巧,需要的朋友可以參考下2019-10-10php設(shè)計(jì)模式之觀察者模式實(shí)例詳解【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之觀察者模式,結(jié)合星際爭(zhēng)霸游戲案例形式分析了php觀察者模式相關(guān)概念、原理、用法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03PHP 傳輸會(huì)話curl函數(shù)的實(shí)例詳解
這篇文章主要介紹了PHP 傳輸會(huì)話curl函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09微信小程序 消息推送php服務(wù)器驗(yàn)證實(shí)例詳解
這篇文章主要介紹了微信小程序 消息推送php服務(wù)器驗(yàn)證實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03php獲取新浪微博數(shù)據(jù)API實(shí)例
要獲取新浪微博的數(shù)據(jù),可以通過(guò)他們提供的API,地址:http://open.weibo.com/wiki/API文檔_V2,獲取數(shù)據(jù)的方法如下:2013-11-11