15 полезных советов в PHP

php советы

От автора: в данной статье я хочу Вам дать 15 полезных советов php. Все советы взяты из моего личного опыта. Поэтому буду рад Вашим комментариям и критическим замечаниям как оценка моих трудов.

Первый совет PHP. Не использовать @

Оператор @ используется для скрытия ошибок при использовании или выполнении неких функций. Данным оператором не стоит пользоваться по двум причинам: он не оправдал себя в быстродействии, то есть медленный; автоматически блокирует все возникшие ошибки при выполнении функции, что есть нежелательным.

Забыть об cp1251

Важный совет PHP. Всем, кто все ещё работает с кодировкой cp1251 – срочно переходите на utf8!!! Т.к. множество функций по работе со строками поддерживает только utf8. И это только одна из причин.

Читайте phpmanual

Разработчики создали огромное количество функционала, которым грех не воспользоваться, но чтобы знать о всех прелестях php читайте phpmanual разработчиков.

Самый лучший код – там, где его меньше

<?php
//длинный код
if($a<b){
$msg = 'a<b';
}else{
$msg = 'a>b';
}
//короткий аналог кода
$msg = (a<b)? 'a<b': 'a>b';
?>

Используйте одинарные кавычки

Одинарные кавычки быстрее чем двойные, ибо PHP ищет переменные внутри строк, заключенных в двойные кавычки. К тому же строки, заключенные в одинарные кавычки, визуально воспринимаются лучше. Когда вы хотите передать переменные в строку, то лучшей производительностью пользуются строки, обрамленные двойными кавычками.

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

Приведу простые примеры оптимизации:

Echo быстрее, чем print

Как можно чаще освобождайте память

require_once не так уж и хорош

str_replace быстрее, чем preg_replace

Избегайте регулярок, лучше использовать строковые функции, они быстрее

Как можно больше кэшируйте

Не всё должно быть ООП

mod_gzip — модуль Apache, который позволяет сжимать ваши данные на лету и может уменьшить объем передаваемых данных до 80%

Что такое освобождение памяти?

При работе с большим объемом данных в ходе выполнения сценария создается немалое количество переменных. Поэтому в определенный момент нужно удалять переменные, отчего и понятие удаления переменной можно сравнить скорее с очисткой переменной с помощью функции unset().

Также желательно использовать минимальное количество переменных для выполнения определенных инструкций. Потому что огромное обилие переменных снижает читабельность кода.

Рассмотрим пример:

// так писать не стоит
$time = time();
$login = $_SESSION['login'];
$hash = md5($login . $time);

// если можно записать так
$hash = md5($_SESSION['login'] . time());

Сначала пишем, потом оптимизируем

Этот совет PHP применяется практически везде и во всем (это касается не только PHP, и программирование в целом). Не целесообразно оптимизировать, когда сценарий в процессе разработки. Ты не видишь всей картины в целом.

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

Извечная проблема начинающих кодеров состоит в том, что когда они перебирают массив в цикле for, они в каждой итерации используют функцию count(), которая подсчитывает количество элементов в массиве. Что опять-таки сказывает на быстродействии сценария.

Ошибка:

for($i=0;$i < count($array);$i++){
//операторы
}

Куда лучше сразу занести в некую переменную количество элементов массива и больше не трогать её.

$elements = count($array);
for($i=0;$i < $elements;$i++){
//операторы
}

Всегда приходит момент, когда начинаешь работать со строками, а именно когда нужно сравнить длину строки с константой. И тут мы сразу обращаемся к функции strlen(), кото-рая возвращает количество символов в строке. Она сама по себе быстрая, ибо длина уже известная и функция просто извлекает её.

Рассмотрим пример, который мы потом более оптимизировано перепишем.

if (strlen($string) < 10) { echo "String is short"; }

Оптимизированный вариант:

if (!isset($string{10})) { echo "String is short"; }

Поговорим об инкрементах:

Инкремент глобальной переменной в два раза медленнее, чем локальной.

Инкремент свойства объекта (т.е. $this->inc++) в три раза медленнее, чем локальной переменной.

Инкремент неопределённой переменной в 9-10 раз медленнее, чем заранее инициализированной.

Инкремент локальной переменной в методе — самый быстрый. Почти также работает инкремент локальной переменной в функции.

Заключение по советам PHP: не ленитесь читать и писать, писать и ещё раз писать

Читайте блоги любых программистов, желательно буржуйских. Подпишитесь на их рас-сылку. Изучайте их уроки, посты, заметки.

Пишите свое, пишите много своего. Придумывайте цели и достигайте их. И так через го-дик простого регулярного труда вы достигните успехов.

Просто садитесь каждый день, и по 60 минуток уделяйте PHP и все у вас получиться!

киберсант-вебмастер

Автор: Влад Паук

На этом урок «Советы PHP» завершен.

Редакция: Рог Виктор и Андрей Бернацкий. Команда webformyself.

E-mail: contact@webformyself.com

Проект webformyself.com — Как создать свой сайт. Основы самостоятельного сайтостроения

P.S. Хотите опубликовать интересный тематический материал и заработать? Если ответ «Да», то жмите сюда.

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Похожие записи

  1. 10 правил PHP-мастеров

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (32)

  1. Виктор

    Отлично,ребята,как и все предыдущее!

  2. Отец Виктор

    Спасибо, поучительно. Пробую разобраться.

  3. Виталий

    Весь Ваш материал очень полезен и легко воспринимается. Спасибо.

  4. Евген

    Отличная статья!!!

  5. Alexd

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

  6. Василий

    Спасибо. Полезный материал.Попробую применить.

  7. Олег

    Отлично! Мне понравилось.

  8. Сергей

    Здорово. Материал отличный, важные элементы для таких как я новичков. Согласен терпение и труд все перетрут.

  9. Ильдар

    Слышал об этом авторе. У него большое будущее.

  10. Станислав

    Спасибо! Пытаюсь освоить и разобраться.

  11. Sergiu

    Веб-программист-самоучка – ещё со школьных год занялся ????!!!

  12. Юрий

    Спасибо за прекрасные материалы. Успехов и удачи!!!

  13. Денис

    Здорово! Спасибо за труд! Автор Респект!

  14. Ольга

    Мальчикам легко! А вот мне очень трудно. Просмотрела работу и поняла, что 100 потов сойдет, пока одолею.

  15. Андрей

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

  16. Devil_Shurik

    Спасибо за полезный материал.

  17. Саша

    подскажите пжл что это значит, первый раз такое встречаю
    &amp;lt;
    echo &amp;quot; String is short&amp;quot;; (особенно 2 ;; в конце)

    Спасибо!

  18. Олег

    Я только начал изучение php многое не понятно,но ваши статьи помогают )_;

  19. Вадим

    Сказали «а» — говорите и «б». На каких буржуйских блогеров стоит подписаться?

  20. василий

    Мне нравится все понятно.Я как раз начал изучать .Спасибо.

  21. Ольга

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

  22. Юля Трикоз

    Сайт Влада Паука не работает. А по статье ничего сказать не могу, php не знаю, делала сайт на Джумле, и на Вордпрессе, но ничего особенного, по обычным шаблонам. В общем, чайник я. Но интересно посмотреть, что это за зверь php.

  23. Михаил

    Как всегда, полезная статья, кое-какие выводы сделал.

  24. nikjar215 (Николай)

    Молодцы! Очень умнО, но для меня, как в лесу, темно!
    Так что извините, Начальник, я ещё изучаю «Античайник». ;-) )
    Вот пройдёт годика два, — поумнею я тогда… ;-) )))

  25. Jandos

    молодцы ребята!!! Респект Вам с Алматы! Прекрасные советы! Респект за богатые программные решения!

  26. николай

    Влада паука незнаю.За статью спасибо.От Макса получаю только толковые вещи.Испытаю эти новые знания как поумнею . Пока чайник.

  27. Наталия

    Спасибо!

  28. Наталия

    Большое спасибо! Пока не всё понятно, но буду стараться разобраться. Мне это интересно.

  29. Станислав

    Большое спасибо за Ваши советы!

  30. billi19591

    Может быть, Вы подскажете, как изменить кодировку на компьютере? Если можно, пожалуйста, подробно, а то я в этом пока плохо разбираюсь. Дело в том, что одни файлы открываются и устанавливаются нормально, а в других появляются «козябрики». Заранее спасибо. С ув. Юрий.

  31. vasya

    ну и муть…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree