原文:一步一步重写 CodeIgniter 框架 (4) —— load_class 管理多个对象实例的思路

我们使用CodeIgniter 框架最主要是想利用其 MVC 特性,将模型 视图分开,并通过控制器进行统一控制。在尝试实现 MVC 模式之前,我们将实现其中一个对程序结构非常有用的技巧,就是 load class 函数。 在上一课中,我们用面向对象的方法大大简化了程序的结构,将主要工作放在两个类中进行 ,URI 和 Router 类。 但是在 Router 类的构造函数中为了获得 uri 的实例, ...

2013-07-11 00:25 0 4797 推荐指数:

查看详情

一步一步重写 CodeIgniter 框架 (9) —— 使用 CodeIgniter 类库

通过前面几节的内容,我们从零开始搭建了一个非常方便的MVC框架,理解了 CodeIgniter 框架最核心的部分。然而一个框架的便利不仅仅在于提供一个MVC就可以了,它还必须具有较高的扩展性。下面将从 CodeIgniter 的官方文档中的顺序一步一步充实我们这个“丑陋” 的框架。 本课将实现 ...

Tue Aug 27 01:51:00 CST 2013 1 3095
一步一步重写 CodeIgniter 框架 (1) —— url 如何映射到具体的方法

CodeIgniter 框架最显著的特征就是 MVC 模式,它的做法就是提取 url 中的'分段', 映射到某个类的某个方法,从而由该方法来输出最终显示的页面内容。那么我们第一课中就是实现一个这样的原型框架。 1. 新建 index.php 文件 2. 提取 uri 3. 提取 ...

Fri Jun 28 05:32:00 CST 2013 2 3688
一步一步重写 CodeIgniter 框架 (5) —— 实现Controller,并加载Model

CodeIgniter 框架采用MVC模式,而MVC模式中起纽带作用的就是C(控制器),在控制器的中通过加载模型获得数据,将数据传到视图中进行展示。本课将实现在控制器中加载模型。 1. 控制器的实现 CodeIgniter 中控制器的作用很强大,通过继承CI_Controller 类 ...

Tue Aug 13 06:48:00 CST 2013 0 11268
一步一步重写 CodeIgniter 框架 (6) —— 实现在控制器Controller中加载View

1. 控制器将模型类获得的数据,传递给视图进行显示,所以视图必须负责接收数据,另外重要的一点是当模型和视图分开后,多个模型的数据可以传递给一个视图进行展示,也可以说一个模型的数据在多个不同的视图中进行展示。所以CodeIgniter 框架视图的接口有两个重要参数, $view ...

Wed Aug 14 16:39:00 CST 2013 0 4997
一步一步重写 CodeIgniter 框架 (12) —— 代码再重构,回归 CI

第一课中搭建的基本的 框架模型, 只有一个 index.php 作为执行文件,按这种方式最不稳定的因素就是路径的问题。 我们经常需要通过合适的参数,比如 load_class('output') 或 $this->load->libraray('email') 等函数就可以加载到相应 ...

Wed Aug 28 18:27:00 CST 2013 1 5128
一步一步重写 CodeIgniter 框架 (8) —— 视图的嵌套输出与返回

视图函数在控制器中通过 $this->load-view() 来调用,从而输出 html,有时候为了调试或附加处理的需要,我们需要打印出这些输出,而不是直接通过浏览器输出,这在 php 中是通过缓冲区来实现的,详细的函数参考 http://www.php.net/manual/zh ...

Wed Aug 21 18:29:00 CST 2013 0 2722
一步一步重写 CodeIgniter 框架 (2) —— 实现简单的路由功能

在上一课中,我们实现了简单的根据 URI 执行某个类的某个方法。但是这种映射没有扩展性,对于一个成熟易用的框架肯定是行不通的。那么,我们可以让 框架的用户 通过自定义这种转换来控制,用 CI 的术语就是 ”路由“。 1. 路由具体负责做什么的?  举个例子,上一课中 http ...

Tue Jul 02 19:37:00 CST 2013 0 4122
一步一步MVP

一、基本的MVP模式实现 为了更好的理解MVP,我们首先实现一个基本的MVP模式,再逐步演进到一个实用的MVP模式,我们还是先来看这么一段代码。 首先定义视图View: View C ...

Fri Mar 29 06:02:00 CST 2013 8 1342
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM