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站视频直链源
首先我们先百度搜索一下“咪咕云” 点击进入-->用户注册或登录 注册时选择个人用户-->前往邮箱激活-->进入邮箱激活成功后重新登录 登录后在控制台选择“云点播” 即可进行上传视频了 ...
- Asp.Net MVC学习总结(三)——过滤器你怎么看?
一.过滤器简介 1.1.理解什么是过滤器 1.过滤器(Filters)就是向请求处理管道中注入额外的逻辑.提供了一个简单而优雅的方式来实现横切关注点. 2.所谓的过滤器(Filters),MVC框架里 ...
- java 完全二叉树的构建与四种遍历方法
本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1 2 4 5 3 6 7 中序遍历结果应该为:4 2 5 ...
- maven项目发布不成功的问题
MyEclipes 里面有好多的项目,有些项目是插件有些是组件, 就是有些项目是被依赖的项目,有些事项目的主体,被依赖的项目需要打成jar 包放在maven的中央仓库里面,也是所说的maven的 ...
- input 即时搜索 监听输入值的变化
在 Web 开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown.onkeypress.onkeyup 这个几个键盘事件来监测的话,监听不了右键的复制.剪贴和粘贴这些操作,处理 ...
- GCD浅析
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; color: #000000 } span.s1 { } 1.关于GCD ...
- 浅析=======Struts2之==========valueStack
今天刚学习了struts2的valueStack,在这里把自己学到的做个分享,说道valueStack就不得不提OGNL表达式=== struts2工作流程 1.OGNL(Object Graph N ...
- DOM基础(四)
每次写DOM的时候,就觉得好像没什么好写,因为涉及到知识点的方面的确不多,对于DOM来说,更多的还是练习为主.在练习的时候,最好能结合着js基础语法的知识点来学习.这样,在学习DOM的时候就不会那么枯 ...
- 微信公众平台跳转网页url详解
1.利用Tomcat服务器部署项目,本地访问可以获取路径资源 2.开辟外网映射,实现全网访问 利用nat123端口映射工具 全网访问 3.将所获取的域名和端口设置到微信页面跳转的url,就完成了该项功 ...
- python 调取 shell 命令的几种方法
os.system()无法获得到输出和返回值 os.popen()output = os.popen('cat /proc/cpuinfo')print output.read()返回的是 file ...