(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

PHP гораздо лучше, чем вы думаете

Источник: habrahabr
Inori

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

Самая главная проблема всех этих статей в том, что люди, которые их пишут, застряли в старых временах PHP.
Либо это их не волнует, либо они не хотят признавать, но PHP эволюционирует очень быстрыми темпами, и как язык, и как сообщество.
Более того, PHP развивается гораздо быстрее, чем какой бы то ни было другой язык или платформа. Конечно, так было не всегда, но последние 5 лет были воистину потрясающими для PHP…

Прежде чем начинать говорить о достижениях PHP сообщества за последнее время, давайте посмотрим на некоторые интересные цифры: PHP используется как основной язык на 77,9% среди всех сайтов, где язык платформы известен. Wordpress используется в 16,6% среди всех сайтов мира. Если вы посмотрите на топ 3 CMS, Wordpress на первом месте с 54,3%, Joomla на втором с 9,2% и Drupal на третьем с 6,8%. Топ 3 продукта, все написаны на PHP.

Это не спроста: в PHP явно что-то сделано верно, не находите?

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

PHP: Язык


В PHP 5.0 (вышедшем в 2004) ввели стабильную объектную модель… стоп стоп. Я же говорю о чем-то, что было почти 8 лет назад. Давайте-ка вернемся в настоящее.
В современном релизе PHP, 5.4, есть все плюшки, о которых вы могли бы мечтать, пользуясь современным веб языком: да, PHP поддерживает пространства имен; да, PHP поддерживает замыкания; да, PHP поддерживает типажи (traits).

На это ушло время, но PHP 5.4 включает в себя немного синтаксического сахара, который делает процесс разработки лучше: да, PHP поддерживает [] для обозначения массива; да, PHP поддерживает вызов метода на созданном объекте ((new Foo())->bar()); да, PHP поддерживает вызов элемента массива из произвольного выражения ($foo->bar()[1]).

В PHP учатся на своих ошибках: register_globals и magic_quotes убраны с потрохами.

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

Задача на будущее: как "обновить" все гайды по PHP в интернете? Какой лучший способ поддержки вебсокетов в PHP проекте?

PHP: Экосистема


Хороший язык - это круто, но отличная экосистема - это еще круче. И экосистема PHP очень сильно развилась за последние годы.

Git

Я не буду вдаваться в подробности этого пункта. Git повсюду, и в мир PHP он влился довольно быстро. Практически все основные PHP библиотеки, фреймворки и продукты используют Git, включая сам PHP.

Composer

Два года назад мне очень хотелось избавиться от страшного PEAR-хака, который я использовал в symfony 1 для поддержки плагинов. Мне хотелось заменить его на что-то, что могло управлять зависимостями на уровне проекта, а не иметь глобальный установщик как PEAR. Управление зависимостями - не простая задача, поэтому я попытался найти наилучший алгоритм для её решения. Я просмотрел все: от Perl до Ruby, от Debian до RedHat. Ни один не был удовлетворительным - кругом самопальные решения, которые просто работают… эмпирически. А потом я наткнулся на ZYpp. Это было оно. В ZYpp используется SATанализатор для управления зависимостями. И теперь, благодаря колоссальной работе Nils Adermann и Jordi Boggiano, у PHP есть один из лучших менеджеров зависимостей, Composer.

Да, у PHP сейчас лучший менеджер зависимостей из всех языков.

И благодаря Git, Composer и встроенному серверу PHP скачивать, устанавливать и тестировать PHP проекты еще не было так просто!

Хотите попробовать Symfony (используя PHP 5.4)?

$ composer.phar create-project symfony/framework-standard-edition
$ cd framework-standard-edition
$ ./app/console server:run

Хотите попробовать Silex?

$ composer.phar create-project fabpot/silex-skeleton
$ cd silex-skeleton
$ php -S localhost:8888 -t web/

Не слышали о Composer? А он того стоит. Загляните на Packagist - основной репозиторий для Composer: в нем уже находится более 1900 пакетов и они были установлены более миллиона раз меньше чем за 3 месяца.

Задача на будущее: внедрить Composer в следующую версию PHP?

Сотрудничество

Сотрудничество внутри сообщества - самый важный пункт в этом посте, то, чем я больше всего горжусь. Мы начинам видеть все больше и больше сотрудничества между различными PHP проектами, даже между очень большими, такими, которым, казалось бы, и не надо ни с кем считаться.

phpBB, Drupal, ez Publish, Symfony, phpDoc, PHPUnit, Behat, Zikula, Propel, Doctrine, Midgard и многие другие имеют совместный код. Да, они "конкуренты", но они все поняли что интероперабельность - это круто. И Composer в этом большой помощник.

Задача на будущее: убедить еще больше проектов влиться в тренд?

Напоследок:


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

P.S. Это перевод статьи PHP is much better than you think, написанной Fabien Potencier. Честно пытался отметить топик, как перевод, но так и не нашел где.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 20.07.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
КОМПАС-3D v17 Home
Nero 2018 Platinum ESD
ZBrush 4R6 Win Commercial Single License ESD
Microsoft 365 Apps for business (corporate)
TeeChart for .NET Standard Business Edition 2017 single license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Один день системного администратора
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100