我正在开发一个新项目,该项目将大量使用对 PHP 的不同 AJAX 调用。创建一个包含所有不同函数的文件并使用 case 语句来选择正确的文件是否合适,或者我应该创建一个 php 文件夹并将每个函数放在自己的文件中?
我正试图让我的技能回到现代网页设计标准和实践的轨道上,而在过去,为了简单起见,一个文件来统治它们是一种方法;但是,发生了很大的变化,以至于在我将 10,000 行代码放入这个项目之前,我想问一下。
感谢您提供的任何建议。
这个问题会引起很多个人意见。
案例和观点,我的观点:
代码可重用性是任何编程语言的关键。将类似的函数一起存储在一个包含文件中,将类型(或者您组织的函数)包含在您需要这些函数的主模块中。您不应该在每个文件中放置一个函数,而是同时放置一个巨大的函数包含 400 个函数的文件将是一场噩梦。
只需使用现代框架和它将强加于您的编码的风格。
并使用 Opcode,这将使您能够编写更清晰的代码而不会影响性能。
一些现代框架名称将是 Zend、Yii、Codeigniter 等
与其考虑实现问题,为什么不考虑接口呢?这就是我的意思,你可以将真正的工作分开在某个地方的类中完成,然后让 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;
}
希望你明白我的意思!
如果我理解,将所有功能放在同一个文件中是完全可以的(如果您正在制作一个非常大的网站,您可能应该将它们分开;就像本节的函数,该节的函数)。
我不确定您为什么要使用 switch 语句来选择它们;有时它很有用,但通常你不会直接调用函数吗?就像包含“库”文件,并在用户注册时调用“getNewId()”。
海事组织这取决于。
如果您的 Ajax 脚本有 10,000 行,并且您每秒处理数十或数百个 Ajax 请求,并且您没有为 PHP 使用操作码缓存,那么您将浪费大量时间和资源将如此大的脚本加载到内存中,解析它,并从中执行几行。
如果你有 2,000 行,每分钟有几十个 ajax 调用,那么这没什么大不了的。
每个函数一个文件也可能有点矫枉过正,也许有一些函数可以组合在一起,然后在调用与该文件相关的任何函数时包含该文件。