原文:一步一步重写 CodeIgniter 框架 (6) —— 实现在控制器Controller中加载View

. 控制器将模型类获得的数据,传递给视图进行显示,所以视图必须负责接收数据,另外重要的一点是当模型和视图分开后,多个模型的数据可以传递给一个视图进行展示,也可以说一个模型的数据在多个不同的视图中进行展示。所以CodeIgniter 框架视图的接口有两个重要参数, view 即使加载哪一个视图, vars 即是传入的数据, return 即表示是直接输出还是返回 返回可以用于调试输出 . 为了达到 ...

2013-08-14 08:39 0 4997 推荐指数:

查看详情

一步一步重写 CodeIgniter 框架 (5) —— 实现Controller,并加载Model

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

Tue Aug 13 06:48:00 CST 2013 0 11268
一步一步重写 CodeIgniter 框架 (9) —— 使用 CodeIgniter 类库

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

Tue Aug 27 01:51:00 CST 2013 1 3095
一步一步重写 CodeIgniter 框架 (2) —— 实现简单的路由功能

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

Tue Jul 02 19:37:00 CST 2013 0 4122
一步一步重写 CodeIgniter 框架 (8) —— 视图的嵌套输出与返回

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

Wed Aug 21 18:29:00 CST 2013 0 2722
一步一步重写 CodeIgniter 框架 (1) —— url 如何映射到具体的方法

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

Fri Jun 28 05:32:00 CST 2013 2 3688
一步一步重写 CodeIgniter 框架 (4) —— load_class 管理多个对象实例的思路

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

Thu Jul 11 08:25:00 CST 2013 0 4797
一步一步重写 CodeIgniter 框架 (12) —— 代码再重构,回归 CI

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

Wed Aug 28 18:27:00 CST 2013 1 5128
C#一步一步实现插件框架的示例(四)

C#一步一步实现插件框架的示例(三) C#一步一步实现插件框架的示例(二) C#一步一步实现插件框架的示例(一) 前面有朋友反应,运行时出现:“ExampleAddin.WorkBenchSingleTon”的类型初始值设定项引发异常错误,这是由于在执行插件的加载过程中出现了错误,比如我 ...

Fri Feb 01 20:29:00 CST 2013 6 4693
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM