正确的 PHP 编码风格


Proper PHP coding style

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

正在努力使我的技能回到现代网页设计标准和实践的轨道上,在过去,为了简单起见,一个文件来统治它们是要走的路;然而,发生了如此多的变化,以至于我想在我进入这个项目 10,000 行之前问一下。

感谢您提供的任何建议。

这个问题

会有很多个人意见。

案例和观点,我的观点:

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

只需使用现代框架及其对编码施加的样式即可。
并使用操作码,这将使您能够在不影响性能的情况下编写更清晰的代码。
一些现代框架名称将是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()"。

IMO 这取决于。

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

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

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