4

我正在开发一个新项目,该项目将大量使用对 PHP 的不同 AJAX 调用。创建一个包含所有不同函数的文件并使用 case 语句来选择正确的文件是否合适,或者我应该创建一个 php 文件夹并将每个函数放在自己的文件中?

我正试图让我的技能回到现代网页设计标准和实践的轨道上,而在过去,为了简单起见,一个文件来统治它们是一种方法;但是,发生了很大的变化,以至于在我将 10,000 行代码放入这个项目之前,我想问一下。

感谢您提供的任何建议。

4

5 回答 5

3

这个问题会引起很多个人意见。

案例和观点,我的观点:

代码可重用性是任何编程语言的关键。将类似的函数一起存储在一个包含文件中,将类型(或者您组织的函数)包含在您需要这些函数的主模块中。您不应该在每个文件中放置一个函数,而是同时放置一个巨大的函数包含 400 个函数的文件将是一场噩梦。

于 2012-05-25T01:14:49.117 回答
2

只需使用现代框架和它将强加于您的编码的风格。
并使用 Opcode,这将使您能够编写更清晰的代码而不会影响性能。
一些现代框架名称将是 Zend、Yii、Codeigniter 等

于 2012-05-25T01:20:54.460 回答
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;
}

希望你明白我的意思!

于 2012-05-25T02:25:06.970 回答
1

如果我理解,将所有功能放在同一个文件中是完全可以的(如果您正在制作一个非常大的网站,您可能应该将它们分开;就像本节的函数,该节的函数)。

我不确定您为什么要使用 switch 语句来选择它们;有时它很有用,但通常你不会直接调用函数吗?就像包含“库”文件,并在用户注册时调用“getNewId()”。

于 2012-05-25T01:14:30.030 回答
1

海事组织这取决于。

如果您的 Ajax 脚本有 10,000 行,并且您每秒处理数十或数百个 Ajax 请求,并且您没有为 PHP 使用操作码缓存,那么您将浪费大量时间和资源将如此大的脚本加载到内存中,解析它,并从中执行几行。

如果你有 2,000 行,每分钟有几十个 ajax 调用,那么这没什么大不了的。

每个函数一个文件也可能有点矫枉过正,也许有一些函数可以组合在一起,然后在调用与该文件相关的任何函数时包含该文件。

于 2012-05-25T01:16:49.977 回答