Php 是否有任何方法可以用更少的代码更快地完成这项工作?中间的
上课有必要吗?在这种情况下,声明一个类,实例化它,然后调用一个类方法是没有好处的;只需创建一个普通函数并执行它。该类是必需的吗?在这种情况下,声明一个类,实例化它,然后调用一个类方法是没有好处的;只需创建一个普通函数并执行该函数。您可以将Php 是否有任何方法可以用更少的代码更快地完成这项工作?中间的,php,sql,oop,insert,Php,Sql,Oop,Insert,上课有必要吗?在这种情况下,声明一个类,实例化它,然后调用一个类方法是没有好处的;只需创建一个普通函数并执行它。该类是必需的吗?在这种情况下,声明一个类,实例化它,然后调用一个类方法是没有好处的;只需创建一个普通函数并执行该函数。您可以将insert\u user\u插入\u数据库函数设置为静态,这样您就不必创建Useradd对象的实例来插入新用户: class Useradd { function insert_user_into_database($user_firstname, $user
insert\u user\u插入\u数据库
函数设置为静态,这样您就不必创建Useradd
对象的实例来插入新用户:
class Useradd {
function insert_user_into_database($user_firstname, $user_lastname, $user_email) {
$sql = "INSERT INTO user (user_firstname, user_lastname, user_email)
VALUES ('$user_firstname', '$user_lastname', '$user_email')";
$q = mysql_query($sql);
}
}
$user_firstname = mysql_real_escape_string($_POST['firstname']);
$user_lastname = mysql_real_escape_string($_POST['lastname']);
$user_email = mysql_real_escape_string($_POST['email']);
$useradd = new Useradd;
$useradd->insert_user_into_database($user_firstname, $user_lastname, $user_email);
然后:
您可以将
insert\u user\u插入\u数据库
函数设置为静态,这样您就不必创建Useradd
对象的实例来插入新用户:
class Useradd {
function insert_user_into_database($user_firstname, $user_lastname, $user_email) {
$sql = "INSERT INTO user (user_firstname, user_lastname, user_email)
VALUES ('$user_firstname', '$user_lastname', '$user_email')";
$q = mysql_query($sql);
}
}
$user_firstname = mysql_real_escape_string($_POST['firstname']);
$user_lastname = mysql_real_escape_string($_POST['lastname']);
$user_email = mysql_real_escape_string($_POST['email']);
$useradd = new Useradd;
$useradd->insert_user_into_database($user_firstname, $user_lastname, $user_email);
然后:
在查看上面的代码时,更快的代码和更少的行数并不是您应该关心的
- 不恰当的OOP设计:类不仅仅是函数的包装器
- 消毒应该内部化到类中
- mysql\u real\u escape\u字符串并不总是清理输入的正确选择
- 你的方法对结果毫无作用,那永远都不好
如果有人告诉你最好的程序是最短的,那他们就是白痴。如果有人告诉你最长的程序是最好的,他们也是白痴。最好的编程正是它需要做的事情,也正是它应该做的事情。尝试将所有内容都放在一行程序中或使其尽可能快地运行会导致许多问题,尤其是当您需要在一个月后维护该代码时。查看上述代码时,不应担心代码速度更快和行数减少
- 不恰当的OOP设计:类不仅仅是函数的包装器
- 消毒应该内部化到类中
- mysql\u real\u escape\u字符串并不总是清理输入的正确选择
- 你的方法对结果毫无作用,那永远都不好
如果有人告诉你最好的程序是最短的,那他们就是白痴。如果有人告诉你最长的程序是最好的,他们也是白痴。最好的编程正是它需要做的事情,也正是它应该做的事情。尝试将所有内容都放在一行程序中或使其尽可能快地运行会导致许多问题,尤其是当您需要在一个月后维护该代码时。为什么要尝试添加列名与传递给它的值相同的行?这是一个在第一组中有
$
前缀的打字错误吗?这个类的目的是什么。如果你去掉了这个类,你会有更少的代码。但是考虑到这是最快的,您可以做的另一件事是使用mysqli或PDO创建准备好的语句,这样php和mysqli之间对查询的连续调用会更快。为什么您要尝试添加一行,其列名与传递给它的值相同?这是一个在第一组中有$
前缀的打字错误吗?这个类的目的是什么。如果你去掉了这个类,你会有更少的代码。但是考虑到这是最快的,您可以做的另一件事是使用mysqli或PDO创建准备好的语句,这样php和mysqlYes之间对查询的连续调用会更快,如果他需要一个对象,这是一个改进。IIRC它的正常功能>静态方法>实例方法。。。因此,这仍然是一个改进。此外,如果您感到兴奋,您可以在插入用户函数调用中执行mysql\u real\u escape\u string
调用,而不是创建一个变量来保存它们的输出<代码>用户添加::将用户插入数据库(mysql\u real\u escape\u字符串($\u POST['firstname'])、mysql\u real\u escape\u字符串($\u POST['lastname'])、mysql\u real\u escape\u字符串($\u POST['email'])实际上,我收回最后一条注释,您应该在函数内部进行转义,只需将原始字符串传递给它。这样你可以从其他地方调用它,你知道你的值总是会被转义的。是的,如果他需要一个对象,这是一个改进。IIRC它的正常功能>静态方法>实例方法。。。因此,这仍然是一个改进。此外,如果您感到兴奋,您可以在插入用户函数调用中执行mysql\u real\u escape\u string
调用,而不是创建一个变量来保存它们的输出<代码>用户添加::将用户插入数据库(mysql\u real\u escape\u字符串($\u POST['firstname'])、mysql\u real\u escape\u字符串($\u POST['lastname'])、mysql\u real\u escape\u字符串($\u POST['email'])实际上,我收回最后一条注释,您应该在函数内部进行转义,只需将原始字符串传递给它。这样你就可以从其他地方调用它,你知道你的值总是会被转义的。。。一定是眼睛里有东西。。。你答案的最后一部分需要投票!我一定是眼睛里有东西。。。你答案的最后一部分需要投票!
Useradd::insert_user_into_database($user_firstname, $user_lastname, $user_email);