Php 我们如何避免冗余代码行

Php 我们如何避免冗余代码行,php,mysql,Php,Mysql,我正在编写一些php代码来轻松执行一些CRUD MySql查询。在编写了几行代码后,我注意到许多代码是冗余的,如以下示例代码: function get_data(){ global $conn; $sql = "SELECT col1, col2 FROM `table1` WHERE `col1` = :id"; $params = array(':id'=> "xyz"); $stmt = $conn->prepare($sql); $

我正在编写一些php代码来轻松执行一些CRUD MySql查询。在编写了几行代码后,我注意到许多代码是冗余的,如以下示例代码:

function  get_data(){
    global $conn;
    $sql = "SELECT col1, col2 FROM `table1` WHERE `col1` = :id";
    $params = array(':id'=> "xyz");
    $stmt = $conn->prepare($sql);
    $stmt->execute($params);
}

function  set_data(){
    global $conn;
    $sql = "INSERT INTO `table1` (col1, col2, col3) VALUES (:v1, :v2, :v3) ";
    $params = array(':v1'=> "x", ':v2'=> "y", ':v1'=> "z");
    $stmt = $conn->prepare($sql);
    $stmt->execute($params);

}
以及UPDATE()、DELETE()等函数

请注意,除了sql命令和数据之外,许多代码都是相同的(例如:prepare(),execute())

我尝试使用以下方法来统一它们:

function execute_crud($sql, $param){
    global $conn;
    $stmt = $conn->prepare($sql);
    $stmt->execute($params);
}
但我认为它还需要其他东西


我的问题是,有没有更好的方法来编写这样冗余的代码。

使用一些ORM或者更好的方法-使用一些框架-这样可以避免创建太多的代码行。例如,非常好的php框架是

简单的答案是“是”,因为总有更好的方法。这取决于你问谁,我认为你的解决方案是好的。我不是在PHP代码中编写简单SQL的坚定支持者,但从复杂性来看,您仍然是一个初学者。您已经使用了准备好的语句,这很好!这么长的回答:是的,但这对于您所展示的复杂性来说确实很好。一件大事是停止使用
global
,像所有其他数据一样,将数据库连接作为参数传递。或者如果你使用类,在ORM或框架中,您仍然需要编写一个相当大的OOP模型代码或从SQL表生成OOP模型代码。一些框架允许这样做。@RaymondNijland实际上在laravel中,您不需要编写大的OOP模型-事实上,您的模型几乎可以是空的类,也可能是真的,然后您的IDE自动完成将不起作用,因此您需要记住属性/函数并自己编写更多代码。。我喜欢做
$user=newuser()$用户->
IDE autocompletes现在可以找到所有公共属性或函数。@KamilKiełczewski,除了您已经加载了一个由数十万行代码组成的完整框架,因此您可以少写一行代码。除非您需要上述框架中的许多其他功能,否则我每次都会使用OP的解决方案。创建Framworks(如Laravel)是为了避免编写冗余代码行(或“重新发明轮子”),并加快应用程序的创建。