該文延續上篇文章: CI框架淺析(一)php
在CI框架的核心庫中,CodeIgniter.php負責加載全部須要的類庫,第一個加載的是公共庫 core/Common.phphtml
Common.php 負責加載如下公共方法:數組
方法名
|
註釋 |
is_php($version)
|
判斷$version是否小於或等於當前安裝的PHP版本
|
is_really_writable($file)
|
判斷該文件是否可寫
|
load_class($class, $directory = 'libraries', $param = NULL)
|
加載類,但只能加載前綴爲CI 的類,或前綴爲本身配置的 $config['subclass_prefix'
|
is_loaded
|
返回已經加載類的數組
|
get_config(Array $replace = array())
|
加載 application/config/config.php 配置數組
application/config/ENVIRONMENT/config.php ENVIRONMENT爲你開發的環境
|
config_item($item)
|
獲取配置項的具體一項值
|
get_mimes()
|
獲取config/mimes.php 的元數據數組
|
is_https()
|
判斷是不是 https 加密協議
|
is_cli()
|
判斷是不是在命令行執行
|
show_error()
|
加載 Exception,在本身的模板輸出錯誤,而後exit
|
show_404($page = '', $log_error = TRUE)
|
加載 Exception,在本身的模板輸出404錯誤
|
log_message($level, $message)
|
輸出日誌信息(不要把config.php 的log_threshold變量設 置爲 4,太卡了,消耗太多的性能)
|
set_status_header($code = 200, $text = '')
|
設置http迴應狀態頭
|
_error_handler( )
|
錯誤處理,加載Exceptions類,而後用日誌輸出錯誤,若是是驗證的錯誤,則exit(1)退出程序。
|
_exception_handler($exception)
|
異常處理,加載Exceptions類,記錄異常,而後 exit(1)退出。
|
_shutdown_handler()
|
宕機處理,不一樣的錯誤級別作相應的處理,調用_error_handler 方法處理
|
remove_invisible_characters()
|
移除不可見的字符
|
html_escape($var, $double_encode = TRUE)
|
html 轉義
|
_stringify_attributes($attributes, $js = FALSE)
|
將數組等其它類型,轉換成字符串類型。
|
function_usable($function_name)
|
方法可用,該方法只是暫時的,後期可能會移除。這方法須要加載Suhosin (一個PHP的補丁或拓展)
|
Common.php中也調用了 Exceptions.php :app
方法名 | 註釋 |
log_exception($severity, $message, $filepath, $line)
|
記錄異常信息,保存在日誌裏
|
show_404($page = '', $log_error = TRUE)
|
記錄錯誤的日誌,且調用show_error()輸出錯誤頁面
|
show_error($heading, $message, $template = 'error_general', $status_code = 500)
|
找到對應的模板,而後輸出錯誤的html頁面
|
show_exception($exception)
|
輸出異常的html頁面
|
show_php_error($severity, $message, $filepath, $line)
|
本地PHP出錯處理,輸出相應的錯誤頁面。
|
if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants.php')) { require_once(APPPATH.'config/'.ENVIRONMENT.'/constants.php'); }
從代碼能夠知道: 框架