溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP之CI框架的示例分析

發(fā)布時間:2021-08-10 13:46:20 來源:億速云 閱讀:125 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)PHP之CI框架的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、前言

CodeIgniter 是一個簡單快速的PHP MVC框架。EllisLab 的工作人員發(fā)布了 CodeIgniter。CodeIgniter 是一套小巧但功能強大的、給 PHP 網(wǎng)站開發(fā)者使用的 Web 應(yīng)用程序開發(fā)框架和工具包。它為組織提供了足夠的自由支持,允許開發(fā)人員更迅速地工作。

二、CI的工作流程

  • 1.index.php作為前端控制器,初始化運行CodeIgniter所需要的基本資源。   

  • 2.Router檢查HTTP請求,以確定誰來處理請求。   

  • 3.如果緩存(Cache)文件存在,它將繞過通常的系統(tǒng)執(zhí)行順序,被直接發(fā)送給瀏覽器。   

  • 4.安全(Security)。應(yīng)用程序控制器(ApplicationController)裝載之前,HTTP請求和任何用戶提交的數(shù)據(jù)將被過濾。   

  • 5.控制器(Controller)裝載模型、核心庫、插件、輔助函數(shù),以及任何處理特定請求所需的其它資源。   

  • 6.最終視圖(View)渲染發(fā)送到Web瀏覽器中的內(nèi)容。如果開啟緩存(Caching),視圖首先被緩存,所以將可用于以后的請求。

三、CI入門

手冊地址:http://codeigniter.org.cn/user_guide/

1、查看ci框架的版本號

項目中全局搜索:CI_VERSION
define('CI_VERSION', '2.x');

2、 CI框架設(shè)置默認(rèn)的控制器

1.進入application的config文件夾下,找到routes.php
2.看到設(shè)置:$route['default_controller'] = "test";  // 含義是默認(rèn)訪問test控制器的index方法

3、核心類庫的調(diào)用方式(system/core/config.php)

(1)控制器中調(diào)用核心庫
$aa = $this->config->base_url();

(2)控制器中調(diào)用邏輯文件
$this->load->biz('test/test1'); // test1.php就是邏輯文件名

4、系統(tǒng)類庫的調(diào)用(system/libraries/config.php)

$this->load->library('class_name'); //調(diào)用單個文件
$this->load->library(array('email', 'table')); //調(diào)用多個文件
$this->class_name->error_array();  //調(diào)用結(jié)束之后,就可以直接使用系統(tǒng)類庫中的方法

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(); 加載之后,你就可以通過一個和你的類同名的對象訪問模型中的方法。

7、渲染頁面

$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中怎么辦?

要你自定義的類庫中訪問CodeIgniter的原始資源,你必須使用 get_instance() 函數(shù).這個函數(shù)返回一個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);  // 渲染頁面

11、ci的命令行調(diào)用

調(diào)用方式:php index.php 控制器 方法 參數(shù)
示例:

*/1 * * * * php 項目目錄/index.php test test_1 0 > /dev/null 2>&1

解釋:

(1)類似于其他框架的命令行模式,前面是php位置,后面是項目根目錄的index,php
 (2) 后面的是用空格隔開的,控制器文件名(application里面的),方法名,參數(shù)
(3)方法示例:
// 這個就是對應(yīng)的方法,$index是參數(shù)
public function test_1($index = 0)
    {}

關(guān)于“PHP之CI框架的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI