为什么许多CMS使用index.php来处理所有文章甚至模块文章?

时间:2011-10-24 08:14:28

标签: php content-management-system

我想知道为什么许多CMS(cmsms,wordpress,joomla和...)对所有模块中的所有文章都使用index.php?它如何帮助他们?为什么他们不为每个模块或插件使用单独的php文件?我想设计一个小型CMS,想知道这个技术。谢谢

1 个答案:

答案 0 :(得分:5)

  

为什么他们不为每个模块或插件使用单独的php文件?

他们负担不起。 CMS的机制允许第三方插件,他们不能事先创建单独的页面,无论如何这将是一个开销。

CMS通常通过URL传输请求,并实现设计模式,例如:

这有助于他们保持简单并能够确定要加载的类和要调用的函数。如果内部或第三方有插件,也很容易。

你应该研究这些模式,为自己找出答案。

以下是Front Controller的引用:

  

前端控制器可以实现为Java对象,也可以实现为   脚本语言,如PHP,ASP,CFML或JSP   在网络会话的每个请求上。这个脚本,例如一个   index.php,将处理应用程序通用的所有任务   或框架,例如会话处理,缓存和输入   过滤。根据具体请求,它将实例化   进一步的对象和调用方法来处理特定的任务   必需的。

     

前端控制器的替代方案是单独的脚本,如   login.php和order.php将各自满足类型   请求。每个脚本都必须复制代码或对象   所有任务都很常见。但每个脚本也可能具有更大的灵活性   实施所需的特定任务。