框架设计
Garon_InE
这个作者很懒,什么都没留下…
展开
-
CI框架源码完全分析之核心文件(异常处理)Exceptions.php
使用CI框架,我们通常使用一下三个函数处理错误: show_error(‘消息’ [, int $status_code = 500 ] )show_404(‘页面’ [, ‘log_error’])log_message(‘级别’, ‘消息’),有一下三种错误信息:错误类型的消息。 这种是真正的错误消息. 例如PHP错误或者用户错误。 调试类型的消息。 这种是用来帮助调试的消息。 例如, 如果转载 2015-04-26 14:56:53 · 2565 阅读 · 0 评论 -
CI框架源码分析之Session类Session.php
CI的Session并不是原生的session,正是我前面所有的cookie based session,另外,CI可以根据用户选择配置是否将session存入数据库中,本人很喜欢这个功能,还有就是“闪出数据”的功能,既闪出数据只是对下次服务器请求可以,之后就会被自动清除。常见使用方法有:$this->session->set_userdata('some_name', 'some_value');转载 2015-04-26 14:58:26 · 786 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(超级控制器)Controller.php
CI中所有的controller都必须继承超级控制器才能使用CI的功能:/** * CI超级控制器,controller所有文件都得继承超级CI_Controller */class CI_Controller { //定义保存单例的静态成员变量 private static $instance; //构造函数 public function __const转载 2015-04-26 14:27:58 · 457 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(输入类)Input.php
CodeIgniter的输入类Input.php确实很强大:过滤超级全局变量的键名和键值;摧毁外部全局变量;可配置不允许$_GET数组;可配置开启全局XSS和CSRF等等。 CodeIgniter的输入类Input.php提供了很多有用的方法,并在helper中封装了函数: $this->input->get() //获取$_GET$this->input->post() //获取$_POST$转载 2015-04-26 14:40:05 · 542 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(URI类)URI.php
URI.php–URI类提供了帮助你分割URI字符串的函数集合。如果你使用URI路由功能,那么你就可以通过分段来重新分发地址栏信息。1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 2. class CI_URI { 3. 4. //缓存的URI分段数组 5.转载 2015-04-26 15:33:45 · 527 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(路由)Router.php
CI的URI路由模式大家都清楚,它还支持强大的路由重定向:/** * Router * * @link http://www.phpddt.com */class CI_Router { //配置类 var $config; //路由信息,routes.php中配置的 var $routes = array(); /**转载 2015-04-26 14:31:57 · 1040 阅读 · 0 评论 -
CI框架源码完全分析之入口文件index.php
Codeigniter框架入口文件很简单,主要是配置开发环境,定义目录常量,加载CI的核心类core/CodeIgniter.php,看下面详细分析:<?php/** http://www.phpddt.com版权所有 *//* *定义应用开发环境,如development,testing,production。会提供不同的PHP错误报告级别 */define('ENVIRO转载 2015-04-26 13:23:05 · 784 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(模型)Model.php
CI框架的模型通过魔术方法__get()获取超级控制器的所有功能,在model里,你可以做很多事情:class CI_Model { function __construct() { log_message('debug', "Model Class Initialized"); } /** * Model几乎没什么代码,可用的就这个函数,巧妙转载 2015-04-26 14:29:21 · 412 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(安全类)Security.php
CI安全类提供了全局防御CSRF攻击和XSS攻击策略,只需要在配置文件开启即可:$config['csrf_protection'] = TRUE;$config['global_xss_filtering'] = TRUE;并提供了实用方法:$this->security->xss_clean($data);//第二个参数为TRUE,验证图片安全$this->security->sanitize_转载 2015-04-26 14:44:10 · 760 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(UTF8类)Utf8.php
UTF8类的主要功能是检测CI和环境是否支持Utf8编码,转换编码,过滤字符串的功能:/** * Utf8 Class */class CI_Utf8 { /** * 构造函数:检测是否支持utf8 */ function __construct() { log_message('debug', "Utf8 Class Initiali转载 2015-04-26 15:28:44 · 448 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(装载器)Loader.php
顾名思义,装载器就是加载元素的,使用CI时,经常加载的有: $this->load->library()$this->load->view()$this->load->model()$this->load->database()$this->load->helper()$this->load->config()$this->load->add_package_path()/** * Loader转载 2015-04-26 14:26:22 · 736 阅读 · 0 评论 -
CI框架源码完全分析之核心文件Codeigniter.php
Codeigniter.php中加载了很多外部文件的,完成了CI的一次完整流程!<?php /** * 转载请保留链接 * @link http://www.phpddt.com *///如果入口文件系统目录常量BASEPATH没定义,就挂了if ( ! defined('BASEPATH')) exit('No direct script access allowed');转载 2015-04-26 14:21:51 · 659 阅读 · 0 评论 -
CI框架目录结构及运行机制
CI框架目录结构如下 运行机制详解1.index.php :入口文件define('ENVIRONMENT')//主要用于设置errors日志输出级别$system_path//设置系统路径//设置BASEPATH、FCPATH、SYSDIR、APPPATH等//设置路径信息变量,为加载相应文件信息准备require_once BASEPATH.core/CodeIgniter.php//最转载 2015-04-26 14:01:23 · 4041 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(输出类)Output.php
CI输出类Output.php的功能是将最终web页面发送给浏览器,这里面的东西可能是你用的最少的。你使用装载器加载了一个视图文件, 这个视图文件的内容会自动传递给输出类对象, 然后呢,在方法执行完毕后会自动调用输出类对象将执行的结果输出.值得注意的是这里面有评测器profiler和file cache的内容。/** * Output类:发送最终的Web页面到所请求的浏览器 */class C转载 2015-04-26 14:47:45 · 467 阅读 · 0 评论 -
CI框架源码完全分析之核心文件(钩子)Hooks.php
CI框架可以实现在不修改系统核心文件的基础上来改变或增加系统的核心运行功能,那就是Hook,看看CI有哪些钩子: pre_system 系统执行的早期调用.仅仅在benchmark 和 hooks 类 加载完毕的时候. 没有执行路由或者其它的过程. pre_controller 在调用你的任何控制器之前调用.此时所用的基础类,路由选择和安全性检查都已完成. post_c转载 2015-04-26 14:33:34 · 541 阅读 · 0 评论