CI框架浅析(二)
该文延续上篇文章: CI框架浅析(一)
在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php
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 :
| 方法名 | 注释 |
|
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');
}
从代码可以知道:
CI框架浅析(二)的更多相关文章
- CI框架浅析
CI框架浅析(全篇) 业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很 ...
- CI框架浅析(全篇)
业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很轻便的框架,整个下载包 ...
- CI框架浅析(一)
CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为开发者们建立功能完善的 Web 应用程序.本人使用CI框架有一段时间了,现在决定把 ...
- ci框架(二)
自定义SQL语句 当提供的API满足不了我们对S ...
- 初学后台框架总结篇二——快速了解CI框架
一.下载CI框架并安装,这里放置一张自己的项目目录结构图 目录框架搭建好之后开始将自己的项目与框架融合 二.更改相关配置 1.用任何文本编辑器打开 application/config/config. ...
- 二十七、CI框架之自己写分页类并加载(写分页还是有难度,搞了一整天)
一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入 ...
- PHP CI 框架简单使用(二)
我们简单认识一下CI框架的MVC.示例代码如下 //CI控制器文件Home.php <?php defined('BASEPATH') OR exit('No direct script acc ...
- 第一天ci框架开发商城1
ci框架开发商城1 1/28/2016 9:43:52 PM userguide删除 system application controllers 控制器 models 模型 views 视图 模板 ...
- CI框架,源代码一次性判断获取post(get)数据是否有某个字段值为空方法
一.以下是CI框架 1.把所有的要接收的字段放在数组中 例: 我要接收:id,name,age,mobile 等字段 $req = array('id','name','age','mobile'); ...
随机推荐
- C#中运算符的应用
c#中的运算符(只说我自己熟悉和常用的)一.算数运算:加 +减 -乘 *除 / (整型的除法是不算小数点的,也就是说结果是整数,余数舍去了,求余数看下面)求余数 % 加减乘好理解,整型的除法和求余数因 ...
- css样式表1 2017-03-11
样式表 DIV + CSS 一. 样式表的分类 以下均以div标签为例,可以换成其他标签 1. 内联样式表 格式: style="属性1:属性值1:属性2:属性值2:属性3: ...
- 【RecyclerView与Glide】实现一个Android电子书阅读APP
http://www.cnblogs.com/xfangs/ 欢迎在本文下方评论,小方很需要鼓励支持!!! 本系列教程仅供学习交流 小说阅读器最终实现效果见 第一篇博文 前言 在上一篇文章中,我们实现 ...
- Struts2中Action配置的三种方式
<!-- 方案一:一个action对应一个方法; --> <action name="add" class="com.gxxy.struts.kp03_ ...
- 提问!同一ajax请求获取的图片路劲,在谷歌浏览器能正确展示图片,在火狐浏览器则显示路径undefined
今天的工作学习之路遇见一个奇葩的问题,作为初级攻城狮的小生实在不知如何解决,都已经壁咚度娘一整天了,都未能解决问题,实属无奈,一开始认为是浏览器兼容的问题,但左看右看,也不是,也尝试过是不是页面加载与 ...
- Visual Studio 2017 新特性
全新的安装体检 VS2017更好的支持了按需安装的特点,用户可以仅选择需要的功能安装,节省了不少的Disk 最小的安装仅有几百兆,但也支持20多种编程语言的编辑和源码管理 支持创建自定义的离线安装包 ...
- kvm的sshd起不来
同事不知道在一台KVM虚拟机执行了chmod -R 777 / 将更目录中的所有文件的权限都改为777,重启该虚拟机之后发现该虚拟机登不上去了,来找我,我尝试重启了几次虚拟机之后,发现总是可以被pi ...
- CognitiveJ一个Java的人脸图像识别开源分析库
CognitiveJ 是一个开源的,支持 Java 8 API 的库,用于管理和编排 Java 应用和微软的Cognitive(Project Oxford)机器学习和图像处理库的项目,可以让你查询以 ...
- 【原】Linux设备网络硬件管理
遇到网络问题时候,一般情况下,我们第一反应是查找软件方面问题,但排查之后,软件没有问题的时候,我们就需要排查硬件方面工作是否正常. 我们可能需要查询网卡设备本身的状态,查询网卡是否有数据包发送接收: ...
- JDBC连接数据库实现删除功能
这次同样运用之前写过的部分代码进行改变,实现一个删除功能,这个功能很好添加,表单中只要form一个参数到DeleteServlet中,所以重点的代码还是在DeleteServlet中实现业务逻辑. 我 ...