记住:MVC,OOP和层是设计概念,不是语言结构,也不是文件结构。
对我来说,这意味着当不使用框架,当没有不同的团队进行编程和设计;在PHP之上使用另一个模板系统(这是一种模板语言)没有价值。另外,从布局分离代码不一定意味着在不同的文件。
这是我以前做的一次性,很少扩展,PHP Web应用程序:
>写一个“通用实用程序”文件,我放了一些格式化/清理函数,以及几个DB访问函数:
> getquery():给定一个SQL,返回一个结果对象
> getrecord():给定一个SQL,返回一个记录对象(并关闭查询)
> getdatum():给定一个SQL,返回一个字段(并关闭查询)
>将所有配置(DB访问,一些URL前缀等)放在“config.php”文件上
>写一个模型图层,一个文件,或者一个为您存储在DB上的每个对象。在那里,将所有的SQL常量,呈现一个更高级的API,基于你的概念对象,而不是DB记录。
这是你的’框架’,然后你写’presentation’层:
>每个页面一个PHP文件,开始一些简单的代码来获取所需的对象,其次是HTML与interspeced PHP代码,只是为了“填补洞”。除非有少数例外,最复杂的代码应该是for循环。我做一个规则只使用一行,?>应与开口
>每个数据输入表单应该指向一个没有任何HTML的小PHP,只需获取POST数据,进入DB并转发到调用页面。
这就是它。如果单独工作,它具有你需要的意图的所有分离,没有淹没在许多文件为单个用户操作。用户看到的每个页面都由单个PHP文件管理。
它甚至易于维护,几个月后没有看代码,因为它很容易测试的应用程序,注意在浏览器的URL字段中的文件名。这将指导您直接到相关代码。
(现在,当然,我使用Django几乎一切…)