适当的PHP编码风格

时间:2012-05-25 01:07:30

标签: php standards

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

我正在尝试通过现代网页设计标准和实践使我的技能重新走上正轨,而在过去,为了简单起见,一个文件来统治它们的全部内容;然而,在我获得10,000行进入这个项目之前,我想要提出更多改变。

感谢您提供任何建议。

5 个答案:

答案 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;
}

希望你明白我的观点!