Есть ли способ сделать это быстрее и с меньшим количеством кода? промежуточный - PullRequest
1 голос
/ 18 марта 2011
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);

Ответы [ 3 ]

5 голосов
/ 18 марта 2011

Более быстрый код и уменьшенные строки - это не то, о чем вы должны беспокоиться, глядя на код выше.

  • Неправильный дизайн ООП: класс - это не просто оболочка для функции
  • Очистка должна быть включена в класс
  • mysql_real_escape_string не всегда является правильным выбором для очистки входных данных
  • Ваш метод ничего не делает с результатом, это никогда не бывает хорошо.

Так что, действительно, лучший ответ - это сказать: «Вам нужно много добавить в этот код».

Если кто-то говорит вам, что лучшие программы самые короткие, ониидиот.Если кто-то говорит вам, что самые длинные программы самые лучшие, они тоже идиот.Лучшее программирование делает именно то, что нужно, и именно то, что должно произойти.Попытка поместить все в одну строку или заставить его работать как можно быстрее, приводит к множеству проблем, особенно когда вам нужно поддерживать этот код месяцем позже.

1 голос
/ 18 марта 2011

Вы можете сделать вашу функцию insert_user_into_database статической, чтобы вам не приходилось создавать экземпляр объекта Useradd только для вставки нового пользователя:

class Useradd {
    static function insert_user_into_database($user_firstname, $user_lastname, $user_email) {
        ...
    }
}

Тогда:

Useradd::insert_user_into_database($user_firstname, $user_lastname, $user_email);
0 голосов
/ 18 марта 2011

Нужен ли класс? В этом случае нет никакого преимущества объявить класс, создать его экземпляр, а затем вызвать метод класса; просто создайте нормальную функцию и выполните ее.

...