·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> PHP学习笔记(4)

PHP学习笔记(4)

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
php学习笔记(4) - 实现自己的MVC框架

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

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