Home  >  Article  >  php教程  >  PHP学习笔记(4)

PHP学习笔记(4)

WBOY
WBOYOriginal
2016-06-13 09:39:56851browse

在PHP中实现一个所谓的MVC框架非常简单。这里说一下思路。

 

一、首先用spl_autoload_register函数实现自己的类型自动加载机制。这样其他代码都不需要再考虑如何将类所在的文件include进来。

 

二、从url中提取出controller和action的名称,组织起来用反射实例化控制器类,并调用控制器的execute方法。控制器的execute方法同样也会用反射查找action方法并调用,将action返回的response对象写入到输出流中。如果controller或action不存在时则返回404状态。

 

三、要实现视图,首先要定义一个view类,它将另外一个php视图文件include到一个方法里,这样可以限制被包含文件中变量的作用域。其次view类会有一个$model属性,用它来和被包含的php共享数据模型,这样我们就能轻松地在视图中呈现数据了。当然还可以用ob_start、ob_get_contents、ob_end_clean这几个函数来“捕获”视图呈现的内容。

 

四、接第二步,如果想呈现一个视图,那么就在action中返回一个ViewResponse,想输出一段json数据,就返回一个JsonResponse,框架提供一个基类ActionResponse,不管它的派生类是什么框架只需要将它生成的内容写入到输出中。

 

实际使用的时候需要注意一下安全和性能的问题。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn