我想知道为什么许多CMS(cmsms,wordpress,joomla和...)对所有模块中的所有文章都使用index.php?它如何帮助他们?为什么他们不为每个模块或插件使用单独的php文件?我想设计一个小型CMS,想知道这个技术。谢谢
答案 0 :(得分:5)
为什么他们不为每个模块或插件使用单独的php文件?
他们负担不起。 CMS的机制允许第三方插件,他们不能事先创建单独的页面,无论如何这将是一个开销。
CMS通常通过URL传输请求,并实现设计模式,例如:
这有助于他们保持简单并能够确定要加载的类和要调用的函数。如果内部或第三方有插件,也很容易。
你应该研究这些模式,为自己找出答案。
以下是Front Controller的引用:
前端控制器可以实现为Java对象,也可以实现为 脚本语言,如PHP,ASP,CFML或JSP 在网络会话的每个请求上。这个脚本,例如一个 index.php,将处理应用程序通用的所有任务 或框架,例如会话处理,缓存和输入 过滤。根据具体请求,它将实例化 进一步的对象和调用方法来处理特定的任务 必需的。强>
前端控制器的替代方案是单独的脚本,如 login.php和order.php将各自满足类型 请求。每个脚本都必须复制代码或对象 所有任务都很常见。但每个脚本也可能具有更大的灵活性 实施所需的特定任务。