8 советов по использованию PHP
1. Использование PHP с версии 5.5
В качестве PHP рекомендуется выбирать версию не ниже PHP 5.5, т.к. с данной версии в ядро PHP встроен OpCache, что ускоряет работу PHP.
Чтобы убедиться, что OpCache работает, можно просто выполнить функцию opcache_get_status()
.
2. Сокращённый вызов PHP-кода
PHP-код выполняется между тегами <?php ?>
. Также возможно указывать сокращённый вид тегов <? ?>
, но их не рекомендуется использовать (по умолчанию такое использование тегов запрещено).
Даже если запрещено использовать теги <? ?>, сокращённый код вывода переменной <?=$var?> работает в любом случае.
3. Закрывающий тег ?> в конце файла
В конце файла рекомендуется не использовать закрывающий тег ?>
, т.к. это помогает избежать добавления случайных символов пробела или перевода строки, которые могут послужить причиной нежелательных эффектов.
Например, после подключения файла через include()
надо использовать header()
, чтобы сделать перенаправление, и в этом случае PHP может вывести ошибку, т.к. в подключаемом файле страница уже начала вывод контента из-за закрывающего тега ?>
(который добавил перевод строки), а до использования header()
не должно быть вывода содержимого страницы.
Об этом также написано в официальной документации: «Закрывающий тег PHP-блока в конце файла не является обязательным, и в некоторых случаях его опускание довольно полезно, например, при использовании include ... нежелательные пробелы не останутся в конце файла и вы все еще сможете добавить http-заголовки».
4. Использование регулярных выражений для поиска текста
Если надо найти строку в тексте, не используя шаблоны регулярных выражений, то рекомендуется использовать strpos()
для производительности кода. Об этом также написано в официальной документации.
$text = 'PHP-script'; # не правильно if (preg_match('/PHP/', $text)) { echo 'строка найдена'; } # правильно if (strpos($text, 'PHP') !== false) { echo 'строка найдена'; }
5. Вывод ошибок на сайте
Вместо вывода ошибок на сайте рекомендуется записывать ошибки в файл. Также данный способ помогает отслеживать ошибки в сложно допустимых местах, например перед редиректом или в Ajax-запросах.
6. Длина массива в цикле for
В цикле for
длину массива рекомендуется устанавливать заранее, иначе при каждой итерации цикла будет подсчитываться количество элементов в массиве.
$arr = ['PHP', 'Zend', 'MySQL']; // неправильно for ($i = 0; $i < sizeof($arr); $i++) { // код } // правильно for ($i = 0, $l = sizeof($arr); $i < $l; $i++) { // код }
7. Использование httponly при создании cookies
Параметр httponly запрещает доступ к cookies из JavaScript, в целях предотвращения XSS-атак.
# в .htaccess (рекомендуется) <IfModule php5_module> php_flag session.cookie_httponly on </IfModule> # при создании cookies setcookie("name", "Сохранённая информация", time() + 3600, '/page.html', '', false, true);
8. Кэширование данных через Memcached
Для кэширования данных можно использовать Memcached, если сервер это позволяет, т.к. Memcached сохраняет данные в память сервера, что увеличивает скорость сохранения и получения закэшированных данных.
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта