1. Используйте функции ip2long() и long2ip(), чтобы преобразовать IP-адрес в целое число и сохранить его в базе данных. Этот метод уменьшает объем памяти почти на четверть (15 байт для char(15) против 4 байт для целого числа), проще вычислить, находится ли конкретный адрес в пределах страницы диапазона, а поиск и сортировка выполняются быстрее (хотя иногда просто немного быстрее).
2. Используйте функцию checkdnsrr(), чтобы проверить, существует ли доменное имя при проверке адреса электронной почты. Эта встроенная функция подтверждает, что указанное доменное имя может быть преобразовано в IP-адрес. В разделе пользовательских комментариев документации PHP для этой функции есть простая пользовательская функция, основанная на checkdnsrr(), которая используется для проверки действительности адреса электронной почты. Этот метод — отличный способ поймать тех парней, которые думают, что их адрес электронной почты «[email protected] » вместо «[email protected] ».
3. Если вы используете PHP 5 и MySQL 4.1 или выше, рассмотрите возможность отказа от серии функций mysql_* и использования улучшенной серии функций mysqli_*. Приятной особенностью является то, что вы можете использовать подготовленные операторы, которые могут ускорить запросы, если вы поддерживаете сайт с интенсивным использованием базы данных. Некоторые оценки.
4. Научитесь любить тернарный оператор.
5. Если вы чувствуете, что в проекте есть повторно используемая часть, проверьте, есть ли она уже в PEAR, прежде чем писать строку кода. Многие программисты PHP знают, что PEAR — хорошая библиотека ресурсов, хотя многие программисты об этом не знают. Эта онлайн-библиотека ресурсов содержит более 400 многократно используемых фрагментов программ, которые вы можете сразу же использовать в своих программах. Если ваш проект не особенный, вы всегда можете найти пакет PEAR, который сэкономит ваше время. (См. PECL)
6. Используйте функцию Highlight_file() для автоматической распечатки красиво отформатированного исходного кода. Если вам нужна помощь со сценарием на досках объявлений, IRC и т. д., эту функцию очень удобно использовать. Конечно, будьте осторожны, чтобы случайно не раскрыть информацию о подключении к базе данных, пароли и т. д.
7. Используйте функцию error_reporting(0), чтобы запретить пользователям видеть потенциально конфиденциальную информацию об ошибках. ] В идеале серверы публикации должны быть полностью отключены в php.ini. Но если вы используете общий веб-сервер и у вас нет собственного файла php.ini, то лучшим вариантом в этом случае будет добавление error_reporting(0); (или использование метода require_once()); Это полностью блокирует конфиденциальные SQL-запросы и имена путей в случае ошибки.
8. Используйте gzcompress() и gzuncompress() для явного сжатия/распаковки строк перед сохранением больших строк в базе данных. Эта встроенная функция PHP использует алгоритм gzip и может сжимать обычный текст до 90%. Я использую эти функции каждый раз, когда хочу прочитать или записать поле типа BLOB. Единственное исключение — когда мне нужен полнотекстовый поиск.
9. Получите несколько возвращаемых значений из функции, передав параметры по «ссылке». Как и тернарный оператор, этот трюк известен большинству программистов, имеющих формальное образование в области программирования. Но те программисты, чей опыт работы с HTML больше, чем опыт работы с Паскалем, более или менее задавали этот вопрос: «Как вернуть несколько значений из функции, когда return можно использовать только один раз?» Ответ заключается в том, чтобы добавить a перед переменной. Символ «&», передаваемый по «ссылке» вместо «значения».
10. Полностью осознайте опасность «магических кавычек» и SQL-инъекций. Я надеюсь, что разработчики, читающие это, уже знакомы с внедрением SQL. Но я все равно перечисляю это здесь, потому что это действительно немного сложно понять. Если вы еще не слышали об этом утверждении, потратьте остаток дня на поиск в Google и чтение об этом.