一、前言
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)求和任何用戶(hù)提交的數(shù)據(jù)將被過(guò)濾。
- 5.控制器(Controller)裝載模型、核心庫(kù)、插件、輔助函數(shù),以及任何處理特定請(qǐng)求所需的其它資源。
- 6.最終視圖(View)渲染發(fā)送到Web瀏覽器中的內(nèi)容。如果開(kāi)啟緩存(Caching),視圖首先被緩存,所以將可用于以后的請(qǐng)求。
三、CI入門(mén)
手冊(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、核心類(lèi)庫(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)類(lèi)庫(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)類(lèi)庫(kù)中的方法
5、輔助函數(shù)類(lèi)的調(diào)用 (system/helps/test.php)
$this->load->library('test');
$casUserInfo = $this->test->xxx(); // 調(diào)用完可直接使用
6、模型類(lèi)的調(diào)用 (system/models/model_name.php)
$this->load->model('blog/model_name'); 引用位于子目錄下模型
$this->model_name->method(); 加載之后,你就可以通過(guò)一個(gè)和你的類(lèi)同名的對(duì)象訪問(wèn)模型中的方法。
7、渲染頁(yè)面
$this->load->view($template, $data, TRUE);
8、其他調(diào)用(redis)
//需要在config文件夾新建redis.php文件,里面寫(xiě)上配置等
$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中怎么辦?
要你自定義的類(lèi)庫(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
解釋?zhuān)?/strong>
(1)類(lèi)似于其他框架的命令行模式,前面是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)秀入門(mén)博文推薦
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í)例代碼及用法大全