LXF82:PHP

Материал из Linuxformat.

Перейти к: навигация, поиск
PHP (Пол Хадсон)

Содержание

PHP Самое важное

В этой завершающей цикл статье Пол Хадсон дает нам несколько советов на посошок.

Я начал писать первую статью этого цикла еще для LXF30. Не могу сказать, чтобы это было «будто вчера», поскольку это не так: автор письма месяца тогда получил коробку с Red Hat Linux 7.3, на диске к журналу находился релиз-кандидат Gnome 2.0, а в обзоре KSpread получил всего 5 баллов из 10 из-за того, что «в некоторых ситуациях в процессе тестирования KSpread рушился при попытке импортировать файлы, формат которых был объявлен как поддерживаемый». Ну хорошо, что касается KSpread, то это действительно было «будто вчера», но вот все остальное в том журнале кажется относящимся к давнему, давнему прошлому.

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

Дискография PHP

Если считать эти страницы, то у вас уже должно набраться больше 190 листов полезностей про PHP — этого почти достаточно, чтобы целиком заполнить два номера LXF! Мы рассмотрели огромное множество тем - генерацию картинок, базы данных, оптимизацию, сокеты, SNMP, базы данных, расширения, безопасность, графический интерфейс на основе GTK, опять базы данных, curl, проверку синтаксиса, Gettext и, конечно же, базы данных. Я надеюсь, что вы старательно занимали первое место в очереди за журналом каждый месяц, но если вы все-таки пропустили несколько выпусков (Эх!), то вам будет приятно узнать, что на диске вы найдете PDF-файлы со всеми до единого выпусками цикла, так что вы сможете прочитать все, что раньше пропустили. Глядя на последние 50 статьй я полагаю, что если вам хочется углубиться в PHP, то я оставил для этого несколько заманчивых моментов. Пожалуй, моим любимым остается LXF70, в котором, пытаясь помочь людям победить в конкурсе LXF, я показал как разгадать загадку Монти Холла. Согласитесь, раньше вы не видели столько коз ни в одном из журналов. Ну и конечно никто не сможет забыть «священный» проект Interfict (LXF57-62), в котором мы на практике использовали множество приемов, изученных раньше, вроде баз данных и регулярных выражений. Но даже если у вас другие есть другие предпочтения, сегодня вы получите полный набор всех статей цикла. Наслаждайтесь!

Знаменитое последнее слово

Поскольку сейчас у меня есть последний шанс сказать вам что-то про PHP, я собираюсь дать вам несколько указаний, которым вам стоило бы следовать при программировании, и которые вам стоило бы учесть на будущее. Вот они:

  1. Используйте MySQL. Это стандартный открытый сервер баз данных, он достаточно надежный и богатый возможностями, чтобы удовлетворить любого. Если вы используете что-то другое, потому что раньше оно было лучше, сейчас настало время пересмотреть ваше решение.
  2. Используйте Ajax. Не стоит считать, что это «всего лишь еще одно модное слово», поскольку это не так: Ajax — это будущее web как минимум на ближайшее десятилетие. Я редко упоминал его тут, поскольку Ajax больше связан с JavaScript, но система LAMP (Linux, Apache, MySQL, PHP/Perl/Python) лучше других приспособлена к работе в качестве основы для Ajax-решения.
  3. Используйте SimpleXML, когда вам нужно иметь дело с XML. Это одно из расширений PHP, которое действительно превосходно. Стоит вам начать разбираться с XPath — и вы уже вряд ли вернетесь назад. Если вы еще с не знакомы с этим расширением, откройте LXF71 и прочитайте — вам откроется целый новый мир
  4. Будьте объектно-ориентированными. Это было ужасно трудно в PHP 4, но начиная с PHP 5 web-разработчикам стало гораздо легче жить. Большая часть web-страниц прекрасно описывается в рамках объектно-ориентированной парадигмы — как минимум саму страницу можно рассматривать в виде объекта, с методами наподобие writeHeader(). Но если вы работаете с бизнес-логикой или создаете приложения, выполняющие конкретные задачи (например игры или графические интерфейсы пользователя), то надо быть сумасшедшим, чтобы не использовать ООП.
  5. Кэшируйте PHP-код. APC — это прекрасное (и бесплатное!) решение, позволяющее вашей программе выполняться гораздо быстрее. А если у вас есть свободные деньги, вы можете инвестировать их в покупку Zend Platform, благодаря которому вы получите самый быстрый PHP-код на свете.
  6. Не стоит использовать PHP 4.x, Apache 1.3.x или MySQL 4.0 или меньше, если, конечно, вашему серверу есть куда девать процессорное время. Все эти программы устарели уже на две версии, так что отсутствие обновлений уже непростительно. А если вы все еще не пользуетесь переменными $_GET, $_POST и так далее — прекратите прямо сейчас.
  7. Не используйте MD5 в сценариях, которые должны быть криптографически-безопасными. Вместо него возьмите SHA1, благо повышение безопасности практически не вызывает потери производительности. Сейчас MD5 можно использовать исключительно для обратной совместимости.
  8. Вместо функций fopen(), fread(), fwrite() и fclose() напишите просто file_get_contents() и file_put_contents(). Нет, производительность тут ни при чем, это просто вопрос удобочитаемости кода.
  9. Не стоит слепо писать всюду mysqli_connect() и другие специфичные для базы данных функции. PDO — это исключительно быстрая, а в сочетании с Pear DB еще и очень гибкая система доступа к СУБД.
  10. Пожалуйста, не используйте eval(). А если вы до сих пор продолжаете это делать — киньте мне email, что бы я мог вдоволь поиздеваться.

Что ждет нас впереди?

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

Для начала, в Perl 6 будет полностью переработан синтаксис регулярных выражений. Пока это изменение нас не касается, и все же нам не стоит о нем забывать, поскольку, во-первых, в PHP используется библиотека совместимых с Perl регулярных выражений, и мы не знаем, когда из совместимой с Perl 5 она превратится в совместимую с Perl 6, и во-вторых новый синтаксис выглядит гораздо лучше. Один из девизов Perl — «Простые вещи должны быть простыми, а сложные вещи должны быть возможными». Новый синтаксис разработан так, чтобы все основные конструкции было проще набрать, а это значит — быстрее обработать, проще прочитать и легче выучить.

Второе, о чем стоит думать - это увеличение роли PHP как языка для связывания объектов бизнес-логики (middleware). Да, PHP всегда неплохо подходил для такого связывания, но все же он имел репутацию детской игрушки, не пригодной к использованию в серьезной компании. Это мнение пришлось опровергать с двух сторон: придавая PHP более Java-подобный синтаксис и добавляя дополнительные зацепки в Java, чтобы вызывать бизнес-объекты было проще. Со старым добрым набором технологий LAMP PHP-программист всегда мог заработать себе на хлеб с маслом. Но не забывайте смотреть дальше — и там вас ждут настоящие деньги!

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

Долгое прощание

ПОДСКАЗКИ

Если вы действительно хотите еще, то посмотрите книгу «Практическое PHP-программирование» (Practical PHP Programming). Она бесплатно доступна в Интернете по адресу http://www.hudzilla.org/phpbook. А если вы нуждаетесь в совете или обсуждении – подумайте о вхождении в группу рассылки пользователей PHP.

Ну, вот и все. Если вы прочитали и попробовали все эти статьи - спасибо вам, я надеюсь что вы много узнали и теперь полностью вооружены для более сложных проектов. Если вы пропустили что-то — вы можете вернуться и прочитать пропущенное с DVD. В любом случае, на этом моя серия заканчивается, но в вашей карьере PHP-программиста все только начинается (тут можно сказать много других стандартных напустствий).

Поздравляю, вы закончили школу программирования Пола Хадсона! Идите, и захватите мир, уничтожьте программистов JSP и сделайте сервера Apache счастливыми до скончания веков. Прощайте!

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию