codeigniter load_class】的更多相关文章

2014年7月7日 14:33:36 函数定义在 system/core/common.php中 使用方法是 load_class('Hooks', 'core'): 在core目录内寻找Hooks类,返回对象 其中的core目录: 先在application/core下找Hooks.php文件,然后在system/core下寻找Hooks.php文件 将该对象保存在一个静态数组$_class中,将类名包含到另一个静态变量$_is_loaded中,最后返回该对象…
我们使用CodeIgniter 框架最主要是想利用其 MVC 特性,将模型.视图分开,并通过控制器进行统一控制.在尝试实现 MVC 模式之前,我们将实现其中一个对程序结构非常有用的技巧,就是 load_class 函数. 在上一课中,我们用面向对象的方法大大简化了程序的结构,将主要工作放在两个类中进行 ,URI 和 Router 类. 但是在 Router 类的构造函数中为了获得 uri 的实例,我们使用了 global 关键字,如下所示: class CI_Router { ... funct…
最近准备接手改进一个别人用Codeigniter写的项目,虽然之前也有用过CI,但是是完全按着自己的意思写的,没按CI的一些套路.用在公众的项目,最好还是按框架规范来,所以还是总结一下,免得以后别人再接手的时候贻笑大方. 1. 首先是 MVC 如果你还不知道 MVC ,应该尽快的学习,你会很快的体会到在 Model 中数据访问,在 Controller 中进行业务逻辑,在 Views 中编写 HTML 代码的价值.如果你之前没有使用过这种模式写过程序,你也许会皱起额头,不过你应该给自己尝试这样做…
到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.com/usr/reg 经过引导文件,实际上会交给Application中的UsrController控制器的reg方法去处理. 这之中,CodeIgniter.php做了哪些工作?我们一步步来看. 1.    导入预定义常量.框架环境初始化 之前的一篇博客(CI框架源码阅读笔记2 一切的入口 ind…
<?php if (!defined('BASEPATH')) { exit ('No direct script access allowed');} class MY_Router extends CI_Router { public function __construct() { parent :: __construct(); $this->agent=load_class('user_agent'); //$this->directory='mobile/'; if ($th…
入口 index.php :一些路径常量定义: => CodeIgniter.php : 1. 初始化一些 system/core内的类,例如Config, Utf8, URI 和Router等,Router._set_routing 处理路由映射. 2. 全局函数get_instance,取controller实例引用,controller基类CI_Controller,伪单例,用get_instance可取得最后一个new出的controller实例(当然,框架内也只会new出一个contr…
第一课中搭建的基本的 框架模型, 只有一个 index.php 作为执行文件,按这种方式最不稳定的因素就是路径的问题. 我们经常需要通过合适的参数,比如 load_class('output') 或 $this->load->libraray('email') 等函数就可以加载到相应的类,所以本课将回归到 CI 整个目录体系结构,以 system 和 application ,重新对代码进行组织. 1. 对 index.php 进行重新组织,定义基本的常量,并分离出核心的 CodeIgnite…
CodeIgniter 框架采用MVC模式,而MVC模式中起纽带作用的就是C(控制器),在控制器的中通过加载模型获得数据,将数据传到视图中进行展示.本课将实现在控制器中加载模型. 1. 控制器的实现 CodeIgniter 中控制器的作用很强大,通过继承CI_Controller 类就可以 $this->input 获得Input类的实例,其模型的调用方法是 $this->load->model('model'), 之后就可以通过 $this->model_name->调用相…
文件位于system/core/common.php,是框架核心文件. 该文件中定义了一系列的函数,都是框架运行中经常需要用到的.下面逐一介绍. is_php /** * Determines if the current version of PHP is equal to or greater than the supplied value * * @param string * @return bool TRUE if the current version is $version or…
这篇文章学习CI框架的钩子特性. hooks是CI框架提供的一种机制,允许你在程序框架运行流程的某个阶段执行你自己的一些代码.比如系统运行前,CI_Controller调用前,系统运行结束后等特定的时间节点,执行自定义的函数.如同官方所言,CodeIgniter 的钩子特性提供了一种方法来修改框架的内部运作流程,而无需修改 核心文件. hooks的逻辑主要写在system/core/Hooks.php的CI_Hooks类中.框架在Codeigniter.php中载入该类. /* * ------…