【发布时间】:2011-06-23 11:32:46
【问题描述】:
更新
我研究了各种 php 框架(yii framework 看起来特别好/有趣),与简单的模板引擎(包括 MVC 和其他功能,如数据库集成)相比,它们似乎提供了一些非常好的功能。我确信代码和显示之间需要一些分离。无论是简单的 php(作为模板引擎)、模板引擎(例如 smarty)还是框架,可能很大程度上取决于应用程序和公司/程序员的选择。 (以及我可以在自己的时间继续研究的问题,但可能不会得到明确的答案)
我还有一个问题。是否可以进行多层设置(如在多个单独的服务器中),其中一个运行 php 代码(“应用程序逻辑”),以 XML 或 JSON 或任何其他数据交换格式等形式输出,然后被发送到 web/HTML 服务器,该服务器从 php 代码中获取输出并将其转换为 HTML ,因此每秒服务的平均页面总数比仅使用单层要快。 (即使该单层将两个单独层中的所有服务器组合在一起。另外我猜测 XML(可能还有 JSON)的解析时间会减少它,但是可以使用两层之间的新协议为此目的进行了优化。)
我正在考虑 HTML 和代码分离(既实现 MVC 并允许 Web 设计人员(如外观/视图)和 Web 开发人员(如代码/控制器)独立工作),我认为应该有可能拥有应用程序运行 PHP(应用程序/业务逻辑/控制器)的服务器和从应用程序服务器获取输出并将其插入 HTML 标记(外观/视图)的 Web 服务器。
从理论上讲,它的工作方式有点像应用程序服务器和数据库服务器的分离,而对于单个请求,由于网络开销,对于一个用户来说它可能会稍微慢一些,您可以使用两个小型服务器处理相当多的同时请求服务器比一台大服务器。例如,应用程序服务器可以将其处理(独立于视图)的信息发送到 Web 服务器,然后将其插入 HTML(这可能因客户端而异,例如移动浏览器)。可以将 HTML 缓存在 ram 中,但不能缓存动态内容,这样即使页面对于每个用户(例如 Facebook)看起来都大不相同,与单个 HTML/PHP 组合相比,仍然可以获得一些速度优势。当然,它还将 HTML 与应用程序代码 (PHP) 分开。
我对此进行了研究,发现了许多 PHP 模板引擎,它们有助于将 HTML 从代码中分离出来,但是其中一些比仅使用 PHP 慢得多,并且“编译”模板似乎并没有那么多的区别(并且会阻止使用单独的 Web/HTML 和代码/PHP 服务器)。虽然使用 PHP 本身作为模板引擎可能对我作为单个开发人员来说可以正常工作,但它不适用于具有单独网页设计师的环境。
总而言之,我正在寻找/创建一个 MVC 框架和模板引擎/系统的组合,这将有助于 HTML 和代码分离以及视图和模型/控制器分离,实际上会更快 /em> 而不是仅仅使用单层。或者,更准确地说,比单层具有更好的可扩展性(尽管我不认为单页的速度会降低很多,如果有的话)。
【问题讨论】:
标签: php model-view-controller templates n-tier-architecture