亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

CI框架學習筆記(二) -入口文件index.php

2020-03-22 18:19:20
字體:
來源:轉載
供稿:網友
上一節(CI框架學習筆記(一) - 環境安裝、基本術語和框架流程)中,我們提到了CI框架的基本流程,這里再次貼出流程圖,以備參考:
作為CI框架的入口文件,源碼閱讀,自然由此開始。在源碼閱讀的過程中,我們并不會逐行進行解釋,而只解釋核心的功能和實現。1. 設置html' target='_blank'>應用程序環境define('ENVIRONMENT', 'development');這里的development可以是任何你喜歡的環境名稱(比如dev,再如test),相對應的,你要在下面的switch case代碼塊中,對設定的環境做相關的錯誤控制,否則,CI框架會認為你沒有配置好相應的環境,從而退出進程并給出對應的錯誤信息:default: exit('The application environment is not set correctly.');為什么一開始就要配置ENVIRONMENT?這是因為,CI框架中很多組件都依賴于ENVIRONMENT的配置,我們看一下system中,引用ENVIRONMENT的地方:
可以看到,很多組件都依賴于ENVIRONMENT.例如,查看system/config/Common.php, 這其中有一段引入配置文件的代碼,是這樣實現的:if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = APPPATH.'config/'.ENVIRONMENT.'/config.php')) $file_path = APPPATH.'config/config.php';} 在CI框架中,很多配置文件都是通過這種方式引入的,因此ENVRIONMENT對于CI框架的正確運行時必須的,所以需要在開始的時候配置好ENVIRONMENT。設置ENVIRONMENT的一個好處是:可以很方便的切換系統的配置而不必修改系統代碼。例如,在系統進入測試階段時,database配置為測試的數據庫,而在系統測試完畢時,database切換到線上的數據庫。這好比是用一個開關控制了系統的環境切換,自然是非常方便的。2. 配置系統目錄和應用程序目錄 CI框架允許你將系統核心源碼和應用程序代碼分開放置,但是你必須設定好系統的system文件夾和application文件夾(同樣,文件夾名字可以是任何合法的文件夾名稱,而不一定使用'system'和'application'):$system_path = 'system';$application_folder = 'application';接下來,有這么一段代碼:if (defined('STDIN')) chdir(dirname(__FILE__));} 這段代碼是干嘛的呢?首先,STDIN、STDOUT、STDERR是PHP以 CLI(Command Line Interface)模式運行而定義的三個常量,這三個常量類似于Shell的stdin,stdout,stdout,分別是PHP CLI模式下的標準輸入、標準輸出和標準錯誤流。也就是說,這三行代碼是為了保證命令行模式下,CI框架可以正常運行。關于PHP CLI的更多細節可以參考:http://www.php-cli.com/3. system目錄的正確性驗證和application目錄驗證(1). system目錄的正確性驗證
Realpath返回的是目錄或文件的絕對目錄名(沒有最后的/)if (realpath($system_path) !== FALSE) $system_path = realpath($system_path).'/';$system_path = rtrim($system_path, '/').'/';if ( ! is_dir($system_path)) exit("xxxxxxxx");}幾個定義的常量(PATH結尾的常量表示目錄路徑,DIR結尾的變量表示目錄名):
a. SELF(這里指index.php文件)
b. EXT(deprecated,廢棄的,不必關注)
c. BASEPATH(system文件夾的路徑)
d. FCPATH(前端控制器的路徑)
e. SYSDIR(系統system目錄名)
f. APPPATH(應用程序路徑)
查看所有定義的常量的方法:Print_r(get_defined_constants());(2)application的目錄驗證。代碼較簡單,不做過多的解釋:if (is_dir($application_folder)) define('APPPATH', $application_folder.'/'); if ( ! is_dir(BASEPATH.$application_folder.'/')) exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF); define('APPPATH', BASEPATH.$application_folder.'/');} 入口文件的最后一行,引入CodeIgniter.php(也是下一步閱讀的關鍵)。CodeIgniter.php被稱為bootstrap file,也就是它是一個引導文件,是CI框架執行流程的核心文件。require_once BASEPATH.'core/CodeIgniter.php'; 總結一下,index.php并沒有做太多復雜的工作,而是類似一個后勤,為CI框架的運行提供了一系列配置參數和正確性驗證,而這些配置和驗證,是CI框架能夠正常運行的關鍵。 最后,按照慣例,貼一下整個文件的源碼(簡化注釋版):define('ENVIRONMENT', 'development');if (defined('ENVIRONMENT')) switch (ENVIRONMENT) case 'development': error_reporting(E_ALL); break; case 'testing': case 'production': error_reporting(0); break; default: exit('The application environment is not set correctly.'); * SYSTEM FOLDER NAME$system_path = 'system'; * APPLICATION FOLDER NAME$application_folder = 'application'; * Resolve the system path for increased reliabilityif (defined('STDIN')) chdir(dirname(__FILE__));if (realpath($system_path) !== FALSE) $system_path = realpath($system_path).'/';$system_path = rtrim($system_path, '/').'/';if ( ! is_dir($system_path)) exit("xxxxxxxx"); * set the main path constants// The name of THIS filedefine('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));// this global constant is deprecataaed.define('EXT', '.php');// Path to the system folderdefine('BASEPATH', str_replace("http://", "/", $system_path));// Path to the front controller (this file)define('FCPATH', str_replace(SELF, '', __FILE__));// Name of the "system folder"define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));// The path to the "application" folderif (is_dir($application_folder)) define('APPPATH', $application_folder.'/'); if ( ! is_dir(BASEPATH.$application_folder.'/')) exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF); define('APPPATH', BASEPATH.$application_folder.'/');require_once BASEPATH.'core/CodeIgniter.php';PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品久久久久影院优| 4k岛国日韩精品**专区| 欧美日韩一区二区免费在线观看| 国产欧美日韩精品丝袜高跟鞋| 亚洲人av在线影院| 亚洲精品国产品国语在线| 亚洲激情国产精品| 日韩成人中文字幕| 欧美日韩一区二区免费在线观看| 国产精品中文字幕在线观看| 91精品国产高清| 亚洲美女精品成人在线视频| 中文字幕9999| 欧美高清激情视频| 8050国产精品久久久久久| 亚洲国产成人爱av在线播放| 777国产偷窥盗摄精品视频| 国产91精品高潮白浆喷水| 欧美电影《睫毛膏》| 国内精品久久久久影院 日本资源| 国产日韩欧美日韩| 成人欧美一区二区三区在线| 亚洲最大激情中文字幕| 一本大道久久加勒比香蕉| 久久精品亚洲94久久精品| 欧美成人手机在线| 亚洲一级免费视频| 日韩精品视频中文在线观看| 精品国产鲁一鲁一区二区张丽| 国产精品久久91| 欧美日韩中国免费专区在线看| 91av在线影院| 性欧美暴力猛交69hd| 国产精品美女久久久久av超清| 欧美激情第6页| 国产日韩精品视频| 日韩欧美a级成人黄色| 欧美成人一区在线| 久久综合伊人77777| 国产美女久久精品香蕉69| 久久亚洲精品小早川怜子66| 亚洲欧美综合v| 自拍偷拍亚洲区| 亚洲级视频在线观看免费1级| 91高清视频在线免费观看| 麻豆一区二区在线观看| 日本不卡免费高清视频| 亚洲美女自拍视频| 国产精品欧美日韩一区二区| 欧美日韩在线视频一区| 2020欧美日韩在线视频| 九色精品美女在线| 在线观看国产精品淫| 久久久精品久久| 中文字幕亚洲欧美日韩高清| 久久精品视频一| 国产精品视频最多的网站| 亚洲国产精品嫩草影院久久| 欧美日韩激情美女| 久久亚洲电影天堂| 91av在线视频观看| 国产精品免费网站| 亚洲天堂av电影| 91精品在线国产| 国产中文字幕亚洲| 欧美极品在线播放| 精品久久久精品| 国产精品久久在线观看| 亚洲无线码在线一区观看| 色香阁99久久精品久久久| 精品国产欧美一区二区五十路| 韩国福利视频一区| 欧美一区二三区| 中文字幕日韩av电影| 成人国产精品免费视频| 国产精品久久国产精品99gif| 亚洲女人天堂av| 色噜噜狠狠狠综合曰曰曰| 日韩视频免费看| 国产精品日韩在线观看| 久久夜色精品国产欧美乱| 久久理论片午夜琪琪电影网| 日韩av手机在线看| 97国产在线视频| 91精品国产自产91精品| 精品magnet| 欧美成aaa人片免费看| 在线性视频日韩欧美| 亚洲一区二区三区777| 亚洲天堂成人在线视频| 中文字幕亚洲在线| 欧美人成在线视频| 日韩在线视频网| 国产亚洲欧洲高清| 国产一区二区日韩| 91精品久久久久久久久久入口| 在线视频国产日韩| 欧美成年人视频网站欧美| 亚洲成年网站在线观看| 懂色aⅴ精品一区二区三区蜜月| 亚洲精品美女在线| 欧美一区二区色| 亚洲a区在线视频| 国产亚洲欧美一区| 日av在线播放中文不卡| 国产一区二区在线播放| 国产欧美欧洲在线观看| 国产精品亚洲аv天堂网| 久久久久久久国产精品视频| 97香蕉超级碰碰久久免费的优势| 中文字幕精品一区久久久久| 裸体女人亚洲精品一区| 日韩精品欧美激情| 日韩视频在线观看免费| 尤物yw午夜国产精品视频| 亚洲欧美日韩区| 中文字幕日本欧美| 国产91久久婷婷一区二区| 欧日韩在线观看| 久久人人爽人人爽人人片亚洲| 宅男66日本亚洲欧美视频| 日韩中文字幕国产| 国产不卡一区二区在线播放| 亚洲福利视频网| 欧美激情视频在线观看| 国产精品国产亚洲伊人久久| 在线观看日韩欧美| 亚洲人成网站在线播| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲国产成人一区| 国产精品美女免费视频| 九九九久久国产免费| 久久久久久久久国产精品| 日本一区二三区好的精华液| 欧美大人香蕉在线| 国产一区二区在线免费| 成人亚洲激情网| 亚洲国产精品美女| 亚洲精品美女在线| 欧美成人午夜剧场免费观看| 欧美激情免费视频| 欧美最猛性xxxxx(亚洲精品)| 亚洲精品福利资源站| 亚洲精品suv精品一区二区| 欧美在线性爱视频| 国产精品久久久久免费a∨大胸| 日韩风俗一区 二区| 色婷婷综合久久久久中文字幕1| 成人a在线视频| 尤物九九久久国产精品的分类| 98精品在线视频| 久久91精品国产| 国产精品第三页| 欧美最猛性xxxxx免费| 国a精品视频大全| 国产精品国产三级国产专播精品人| 亚洲精品720p| 国产综合在线看| 亚洲免费福利视频| 欧美亚洲另类制服自拍| 亚洲成人激情在线| 国产91色在线免费| 欧美精品在线播放| 久久亚洲精品中文字幕冲田杏梨|