我正在开发一个新项目,它将大量使用对PHP的不同AJAX调用。创建一个包含所有不同函数的文件并使用case语句来选择正确的文件是否合适,还是应该创建一个php文件夹并将每个函数放在自己的文件中?
我正在尝试通过现代网页设计标准和实践使我的技能重新走上正轨,而在过去,为了简单起见,一个文件来统治它们的全部内容;然而,在我获得10,000行进入这个项目之前,我想要提出更多改变。
感谢您提供任何建议。
答案 0 :(得分:3)
这个问题会引起很多个人意见。
案例和观点,我的意见:
代码可重用性是任何编程语言的关键。将类似函数存储在一个包含文件中,包括您需要这些函数的主模块中的类型(或者您组织函数的其他方式)。您不应该为每个文件放置一个函数,但同时一个包含400个功能的巨大文件将是一场噩梦。
答案 1 :(得分:2)
只需使用现代框架及其对您的编码施加的风格 并使用操作码,这将使您能够编写更清晰的代码而不影响性能 一些现代框架名称将是Zend,Yii,Codeigniter等
答案 2 :(得分:1)
如果我理解,将所有功能都放在同一个文件中是完全没问题的(如果你正在制作一个非常大的网站,你应该把它们分开;就像本节的功能一样,该部分的功能)。
我不确定为什么要使用switch语句来挑选它们;有时它很有用,但通常不会直接调用函数吗?比如包含“library”文件,并在用户注册时调用“getNewId()”。
答案 3 :(得分:1)
IMO取决于它。
如果您的Ajax脚本是10,000行,并且您每秒处理数十或数百个Ajax请求,并且您不使用PHP的操作码缓存,那么您将浪费大量的时间和资源将这么大的脚本加载到内存中,解析它,并从中执行几行。
如果你有2000行,每分钟几十个ajax通话,那么这不是一件大事。
每个函数一个文件也可能有点过分,也许有些函数可以组合在一起,然后在调用与该文件相关的任何函数时包含该文件。
答案 4 :(得分:1)
而不是考虑问题的实现为什么不考虑接口? 这就是我的意思,你可以将实际工作分开到某个类中,并让ajax调用另一个单独的类/函数。然后通过ajax调用的函数可以查询不同的类/对象来完成工作并将响应发送回ajax。这可能听起来像MVC模式。这样做的好处显然是代码可重用性,改进的解耦和更容易的代码维护。 例如:
class Cook{
function friedEgg(){/**/}
function currySoup(){/**/}
function sandwich(){/**/}
}
通过ajax调用的函数可能是
function ajaxBreakfast(){
$cook = new Cook;
$result = $cook->friedEgg();
$result .= $cook->sandwich();
echo $result;
}
function ajaxLunch(){
$cook = new Cook;
$result = $cook->currySoup();
echo $result;
}
希望你明白我的观点!