我今天(有数百万人可能已经有过)将所有网站脚本放入一个文件中,而不是多个单独的文件。提交表单时,还会有一个名为“action”的隐藏字段,表示文件中的哪个函数可以处理它。
我知道像Code Igniter和CakePHP这样的东西可以帮助分离/组织代码。
在安全性,速度和维护方面,这是一个好主意还是坏主意?
这样的事情已经存在,我不知道吗?
答案 0 :(得分:5)
重点是什么?这只会让维护变得更加困难。如果您在管理多个文件时遇到困难,那么您应该花时间寻找更好的文本编辑器/ IDE并停止使用记事本或其他任何使它变得如此困难的事情!
答案 1 :(得分:4)
许多PHP框架都依赖于Front Controller设计:一个小的PHP脚本充当所有请求的登陆点。根据请求参数,前端控制器调用其他PHP脚本中的代码。
但是,将您网站的所有代码存储在一个文件中是不切实际的,正如其他人所评论的那样。
答案 2 :(得分:1)
有很多论坛都是这样做的。就个人而言,我不喜欢它,主要是因为如果你在文件中出错,整个网站都会被破坏,直到你修复它。
我喜欢每个部分的分离,但我想它有其优点。
这可能对维护有害,因为您无法轻松禁用网站的某个部分进行更新。
速度:我不确定是否诚实。
安全性:您可以完成完全相同的安全设置,只需在文件中添加安全检查,然后在所有页面中包含该文件。
答案 3 :(得分:1)
如果你没有缓存你的脚本,单个文件中的所有内容意味着更少的磁盘I / O,并且由于通常磁盘I / O是一项昂贵的操作,这可能是一个显着的好处。
问题是,当你获得足够的流量时,无论如何你最好还是去缓存。我认为它可能会产生一些有限的意义,但是在特殊情况下,你会遇到一个带宽不是问题的共享托管环境。
维护和安全:用程序员可以放在头脑中的小型整体代码组成软件(计算机可以整齐地管理内存)几乎总是比一个巨大的文件更好。虽然如果你想让其他开发人员对你的代码进行修补,那么这个庞大的文件可能会作为混淆方案的一部分。 ;)
如果由于某种原因你使用单文件方法尝试挤出额外的磁盘I / O,那么你想要做的是创建一个构建过程,在那里你做了一系列的实际开发工作断开的离散文件,并发出make
或ant
之类的命令来生成您的单个文件。