действительно ли дублирующаяся переменная ПЛОХА? - PullRequest
0 голосов
/ 31 марта 2011

Я знаю, что этот php-код плохой

<?php
$id=$_SESSION['id'];
?>

но это избавляет от написания этого длинного кода! Для лучшей читаемости мы должны потерять часть памяти,
Q-> но разве это плохо [если у меня на странице 5 таких переменных]?

=============================================== =================

Q-> какой из них работает быстрее?
1-> mysqli_prepare("sql");
2-> mysql_real_escape_string("input"); mysqli_query("sql");

=============================================== =================

Q-> Эффективно ли закрывать mysqli после завершения работы на каждой странице?

Ответы [ 4 ]

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

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

Тебе не стоит беспокоиться о памяти. Пустой массив потребляет больше памяти, чем пять повторяющихся строковых переменных.

Если это способствует удобочитаемости, используйте копии локальных переменных. Если вы не забудете отфильтровать входные переменные на этом шаге, тогда все будет в порядке. В этом методе нет ничего «плохого».

Какой из них работает быстро? mysqli / mysql_real_escape_string

Это зависит. Если вы используете подготовленные параметры статистики / привязки, вы можете сэкономить время, если отправите несколько строк данных в БД. Для обычных запросов, если вы просто экранируете значения с помощью mysqli, это не будет иметь значения. Mysqli и старые функции mysql_, вероятно, различаются по скорости, но это, безусловно, незначительно по сравнению с самим запросом к базе данных.

Эффективно ли закрывать mysqli после завершения работы на каждой странице?

Тебе не стоило этого делать.

0 голосов
/ 31 марта 2011
  1. Это хорошо.

  2. нет.Скорость не должна быть вашей заботой здесь.

  3. Не имеет значения для веб-страниц.

0 голосов
/ 31 марта 2011

Q-> но действительно ли это плохо [если у меня на странице 5 таких переменных]?

Он просто потребляет больше байтов в памяти.Вы можете создать статический класс, который обернет ваш $ _SESSION

Q-> какой из них работает быстро? Вы можете проверить его самостоятельно (считая миллисекунды).Я использую PDO_MYSQL с Zend_Db.

Q-> Эффективно ли закрывать mysqli после завершения работы на каждой странице? Я активно закрываю все используемые подключения в конце (после окончания php-скрипта нет необходимостичтобы поддержать их или дать им спать).

0 голосов
/ 31 марта 2011

Q-> но разве это плохо [если у меня на странице 5 таких переменных]?

Вы должны очистить свои входные переменные!

Q-> какой из них работает быстро?

mysqli_prepare () в большинстве случаев быстрее

Q-> Эффективно ли закрывать mysqli после завершения работы на каждой странице?

Я думаю, что это хороший стиль написания, и его нужно делать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...