使用函数是一种很好的做法吗?


Is using functions a good practice?

我有一个处理程序.php它管理来自多个页面的用户输入帖子。

在我的处理程序的几个部分中.php我需要执行same查询。

现在我在 Handler.php 的不同部分重复了相同的代码。

调用函数然后返回结果会更好吗?

我知道它会起作用,但是,因为我真的很业余,我将不胜感激专家的建议。

最好

在需要执行相同代码的多个位置调用函数!

它的可读性和可维护性要高得多,因为您需要对函数所做的每个更改都必须仅在函数中完成,而不是在整个代码中重复代码的 N 个位置上完成。

重复代码是非常

糟糕的做法,您应该始终尝试以在项目中只需要一次代码的方式规划和构建代码。

此外,最好将数据库的每个操作都放在一个类中。这样,您就可以非常快速地找到适用于数据库的代码。

想象一下:

//DataHandler.php
/* ... some code ... */
mysqli_query($dbCon, "SELECT * FROM someTable WHERE X = Y");
/* ... some other code ... */
mysqli_query($dbCon, "SELECT * FROM someTable WHERE X = Y");
/* ... much more code ... */
mysqli_query($dbCon, "SELECT * FROM someTable WHERE X = Y");

现在您需要更改查询中的某些内容

//DataHandler.php
/* ... some code ... */
mysqli_query($dbCon, "SELECT * FROM someTable WHERE Y = X");
/* ... some other code ... */
mysqli_query($dbCon, "SELECT * FROM someTable WHERE Y = X");
/* ... much more code ... */
mysqli_query($dbCon, "SELECT * FROM someTable WHERE X = Y");

哎呀,您错过了一个位置更改它,现在您的系统中出现了一个(可能是非常巨大的错误(,您会在搜索此错误时流泪。

所以这样做要好得多:

//DataHandler.php
/* ... some code ... */
$data = selectSomething($someDataYouNeedToCheck);
/* ... some other code ... */
$data = selectSomething($someDataYouNeedToCheck);
/* ... much more code ... */
$data = selectSomething($someDataYouNeedToCheck);
function selectSomething($y){
    mysqli_query($dbCon, "SELECT * FROM someTable WHERE X = ".$y);
    // return the result after working with it
}

现在,您只需要更改函数中的代码,并且不会错过项目中的任何部分!您遇到了单点故障。您知道错误发生的位置,因为只有可能发生错误的地方!