>php教程 >php手册 >PHP学习笔记(4)

PHP学习笔记(4)

WBOY
WBOY원래의
2016-06-13 09:39:56959검색

在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,不管它的派生类是什么框架只需要将它生成的内容写入到输出中。

 

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.