- PVSM.RU - https://www.pvsm.ru -

Следуя традиции, мы решили подвести итоги уходящего года и выделить самые значимые события в мире PHP, которых, к счастью, было немало. И, конечно же, подборка с ссылками на свежие материалы за последние три недели.
Под катом вас также ждет конкурс [1] с призами от компании JetBrains [2]!

Безусловно, самым важным событием уходящего года стал выход новой мажорной версии интерпретатора — PHP 5.5 [3]. Релиз ожидаемо не был революционным, однако включение опкод кэшера Zend Optimiser+ в состав дистрибутива [4] стало огромным шагом вперед. Кроме этого, релиз содержал ряд полезных нововведений, таких как генераторы [5], блок finally и ряд других. Подробнее по ссылкам: 1 [6], 2 [7], 3 [8], 4 [9], 5 [10].
Релиз также ознаменовал собой конец эпохи 5.3. Последний регулярный релиз этой ветки уже выпущен [11].
Не обошлось в уходящем году и без проблем. Это, конечно же, недавний взлом php.net [12], к счастью быстро обнаруженный и исправленный. А также уход Anthony Ferrara из php-internals [13], который наряду с Никитой Поповым был ярким представителем прогрессивной части команды разработчиков ядра PHP.
2013 год был успешным для PHP, а выход 5.5 и работа над 5.6 дают возможность с уверенностью говорить об установлении такого желанного PHP-разработчиками предсказуемого цикла релизов.

Вышедший в этом году Laravel 4, вне всяких сомнений, заслуживает звания «прорыв» года. Интернет еще за полгода до финального релиза был полон материалов и туториалов по фреймворку, а уж после анонса [14] их поток не останавливается. Сообществом за год проделана огромная работа, особенно радует количество всевозможных ресурсов на любой случай. Это и еженедельные подборки материалов на laravel.io [15], и репозиторий расширений — Packalyst [16], и ресурс скринкастов — Laracasts [17], архивы сниппетов [18] и трюков [19] для Laravel, подборка сайтов и приложений, сделанных на фреймворке — builtwithlaravel.com [20].
Также на счет сообщества можно занести две успешно проведенных конференции Laracon в США [21] и Европе [22].

В этом году сообществу был представлен Yii 2. Сначала в виде превью [23], а затем и полноценный альфа-релиз [24], работа над которым велась больше двух лет. Кое-кто даже использует в продакшене [25]. Напомню, что было принято решение в Yii 2 использовать возможности PHP 5.4 [26].
Сообщество Yii Framework в лице samdark [27] присоединилось к группе PHP-FIG [28]. Также периодически стал выходить дев-дайджест по Yii 2 [29].
А в ветке 1.1 состоялся массивный релиз 1.1.14 [30].

Безусловный лидер PHP-фреймворков в этом году обозначился 2.2 [31], 2.4 [32] и, конечно же, релизом с долгосрочной поддержкой — 2.3 [33], которая продлится до 2016 года. На базе фреймворка были выпущены универсальные решения, такие как Symfony CMF [34] и платформа для электронной коммерции Sylius [35].
Но, конечно же, ничто не сравнится с новостью о €5 миллионах инвестиций на развитие экосистемы Symfony [36]

Команда Facebook, работавшая над HHVM, проделала невероятную работу за этот год. И если раньше HHVM казался хоть и интересным решением, но пригодным лишь для Facebook, то теперь HHVM — это реальный инструмент, в котором практически полностью реализована поддержка PHP 5.4, успешно работают все популярные фреймворки, что уже говорить о невероятной производительности. Установка виртуальной машины доступна любому пользователю, благодаря наличию пакетов для популярных Linux-дистрибутивов [37] и на OS X с помощью Homebrew [38]. Windows пользователи к сожалению пока обделены вниманием.
HHVM можно с легкостью использовать на облачном хостинге Heroku [39], а с недавних пор и на популярном инструменте непрерывной интеграции Travis CI [40].
Также, нашумевшей новостью был kPHP [41] от vk.com, который, однако, для нас как PHP-разработчиков пока так и остался лишь новостью.

React — не что иное, как реализация паттерна Reactor [42] на PHP. Библиотека позволяет создавать асинхронные основанные на событиях приложения а-ля Node.js. И, несмотря на скепсис о том, что PHP-скрипты должны умирать [43], React успешно доказывает практическую применимость PHP для решения такого класса задач. И в этом году было продемонстрировано масса примеров использования PHP в асинхронных приложениях: прежде всего Ratchet [44], использование с Arduino [45], создание поисковика на React PHP [46], риалтайм чат на Laravel и Ratchet [47] и даже управление дроном [48].

Инструмент, который по праву можно назвать одним из самых революционных в мире PHP, инструмент, который изменил «игру», буквально взорвав PHP-сообщество! Количество библиотек растет как на дрожжах и даже ростом популярности PHP, кажется, больше обязан именно Composer'у, а не каким-либо фреймворкам. PEAR де-факто умер.
В этом году состоялся уже седьмой альфа-релиз версии 1.0.0 [49].
Из других важных событий уходящего года в мире PHP стоит вспомнить:
Новости и релизы
Вышел WordPress 3.8 «Parker» [62] — Свет увидела новая версия WordPress. Новая тема, обновленный интерфейс админки и множество других улучшений.
PHP
Инструменты
Материалы для обучения
StackPHP [98] — Доклад о StackPHP [97] непосредственно от автора.
Тестирование Symfony 2 приложений с помощью Сodeception [111]
Примеси в PHP (trait) [126] — Еще один пост о трейтах, на этот раз с реальными примерами.
Интеграция аутентификации Symfony2 и трекера Jira [127]
Большое руководство по Yiinitializr [128] — Отличный пост об инструменте, предназначенном для быстрого создания проектов на Yii.
Резервное копирование веб-проектов на Яндекс.Диск [129], а также без ООП и натурщиц [130]
История одного бэкдора [131] — Разбор обфусцированного кода небольшого зловреда.
Laravel: Dependency Injection на практике [132]
Покупаем билеты на поезд в Новый год [133] — Автор реализовал небольшой скрипт для слежения за интересующими билетами на сайте РЖД.
Лучшие ресурсы для начала работы с Drupal 8 [134]
ЗанимательноеБыстрый поиск по всем дайджестам [139]
← Предыдущий выпуск [140]
PHP-дайджест совместно с компанией JetBrains [2] в последнем дайджесте уходящего 2013-го года объявляют конкурс среди постоянных читателей.
Предлагаем вам сделать прогноз для мира PHP на 2014-ый год прямо в комментариях к этому посту. Лучшие три прогноза, набравшие наибольшее количество плюсов, получат отличные новогодние подарки! Компания JetBrains [2] всех трёх победителей наградит персональными лицензиями PHPStorm IDE [141]! Также каждый победитель получит футболку [142] с логотипом PHP от интернет-магазина #ITStuff [143]. А наиболее удачный прогнозист также выиграет настоящего PHP-слоника от #ITStuff! Результаты будут объявлены 31-го декабря в 19.00 по московскому времени.
Давайте вместе пофантазируем, чего нам ждать от грядущего 2014?
C наступающим Новым годом!
Автор: pronskiy
Источник [144]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/51851
Ссылки в тексте:
[1] конкурс: http://habrahabr.ru/company/zfort/blog/207812/#competition
[2] JetBrains: http://www.jetbrains.com/
[3] PHP 5.5: http://php.net/releases/5_5_0.php
[4] включение опкод кэшера Zend Optimiser+ в состав дистрибутива: https://wiki.php.net/rfc/optimizerplus
[5] генераторы: http://habrahabr.ru/post/189796/
[6] 1: http://habrahabr.ru/post/184142/
[7] 2: http://www.opennet.ru/opennews/art.shtml?num=37239
[8] 3: http://evertpot.com/php-55-released/
[9] 4: http://www.sitepoint.com/whats-new-in-php-5-5/
[10] 5: http://cvuorinen.net/2013/08/whats-new-in-php-5-5/
[11] уже выпущен: http://php.net/archive/2013.php#id2013-07-11-1
[12] php.net: http://php.net/archive/2013.php#id2013-10-24-1
[13] уход Anthony Ferrara из php-internals: http://blog.ircmaxell.com/2013/09/rambling-on-internals.html
[14] анонса: http://habrahabr.ru/post/181328/
[15] laravel.io: http://laravel.io/
[16] Packalyst: http://packalyst.com/
[17] Laracasts: https://laracasts.com/
[18] сниппетов: http://laravelsnippets.com/
[19] трюков: http://www.laravel-tricks.com/
[20] builtwithlaravel.com: http://builtwithlaravel.com/
[21] США: http://lanyrd.com/2013/laracon/
[22] Европе: http://laracon.eu/2013/talks/
[23] превью: http://habrahabr.ru/post/178681/
[24] альфа-релиз: http://rmcreative.ru/blog/post/yii-2-alpha
[25] в продакшене: https://www.theprintful.com/
[26] Yii 2 использовать возможности PHP 5.4: http://rmcreative.ru/blog/post/yii2-budet-na-php-5.4
[27] samdark: http://habrahabr.ru/users/samdark/
[28] присоединилось к группе PHP-FIG: http://rmcreative.ru/blog/post/php-fig
[29] дев-дайджест по Yii 2: http://stdout.in/en/post/yii2_dev_digest_4_dec_13
[30] 1.1.14: http://habrahabr.ru/post/189820/
[31] 2.2: http://habrahabr.ru/post/171251/
[32] 2.4: http://symfony.com/blog/symfony-2-4-0-released
[33] 2.3: http://habrahabr.ru/post/182008/
[34] Symfony CMF: http://cmf.symfony.com/
[35] Sylius: http://sylius.com/
[36] €5 миллионах инвестиций на развитие экосистемы Symfony: http://fabien.potencier.org/article/71/sensiolabs-raises-5-million-euros-to-boost-the-symfony-ecosystem
[37] пакетов для популярных Linux-дистрибутивов: http://www.hhvm.com/blog/1301/hhvm-2-2-0
[38] Homebrew: https://github.com/facebook/hhvm/wiki/Building-and-installing-HHVM-on-OSX-10.9
[39] использовать на облачном хостинге Heroku: http://www.hhvm.com/blog/1379/hhvm-on-heroku
[40] Travis CI: https://travis-ci.org/
[41] kPHP: http://habrahabr.ru/post/187214/
[42] Reactor: http://en.wikipedia.org/wiki/Reactor_pattern
[43] PHP-скрипты должны умирать: http://habrahabr.ru/post/179399/
[44] Ratchet: http://socketo.me/
[45] использование с Arduino: http://www.a-basketful-of-papayas.net/2013/06/basics-of-using-arduino-from-php.html
[46] создание поисковика на React PHP: http://elfet.ru/creating-a-search-engine-on-react-php/
[47] риалтайм чат на Laravel и Ratchet: https://medium.com/on-coding/eaa550829538
[48] управление дроном: https://github.com/jolicode/php-ar-drone
[49] седьмой альфа-релиз версии 1.0.0: https://github.com/composer/composer/releases/tag/1.0.0-alpha7
[50] Zephir — новый язык от команды разработчиков Phalcon: http://blog.phalconphp.com/post/57161129440/phalcon-2-0-the-future
[51] Поддержка PHP в Google App Engine: http://habrahabr.ru/post/197200/
[52] PSR-3: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md
[53] PSR-4: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md
[54] 5.3.28: http://php.net/archive/2013.php#id2013-12-12-2
[55] 5.4.23: http://php.net/archive/2013.php#id2013-12-12-3
[56] 5.5.7: http://php.net/archive/2013.php#id2013-12-12-1
[57] критические: https://rhn.redhat.com/errata/RHSA-2013-1815.html
[58] HHVM 2.3.0: http://www.hhvm.com/blog/2393/hhvm-2-3-0-and-travis-ci
[59] Laravel 4.1: https://github.com/laravel/laravel/blob/master/upgrade.md
[60] Joomla! Framework: http://www.joomla.org/announcements/release-news/5521-joomla-framework-1-0-released.html
[61] пример приложения: https://github.com/dbhurley/framework-app
[62] Вышел WordPress 3.8 «Parker»: http://habrahabr.ru/post/205924/
[63] Bolt 1.4.0: http://bolt.cm/newsitem/bolt-140-released
[64] Piwik 2.0: http://piwik.org/blog/2013/12/piwik-2-0-release-announced-biggest-best-release-yet/
[65] Faker 1.3: http://redotheweb.com/2013/12/17/faker-13-is-released.html
[66] RFC: phpdbg: https://wiki.php.net/rfc/phpdbg
[67] RFC: Распаковка списков аргументов: https://wiki.php.net/rfc/argument_unpacking#vote
[68] RFC: Exceptions in the engine: https://wiki.php.net/rfc/engine_exceptions#vote
[69] острая: http://news.php.net/php.internals/70555
[70] дискуссия: http://news.php.net/php.internals/70557
[71] ToDo PHP 5.6: https://wiki.php.net/todo/php56#timetable
[72] Chute: http://bernardphp.com/projects/chute/en/latest/
[73] php-try: https://github.com/asm89/php-try
[74] Scala: http://www.scala-lang.org/api/2.9.3/scala/util/Try.html
[75] Medoo: http://medoo.in/
[76] php-amqplib: https://github.com/videlalvaro/php-amqplib
[77] ShellWrap: https://github.com/MrRio/shellwrap/tree/master
[78] RMT — Release Management Tool: https://github.com/liip/RMT
[79] Bedrock: https://github.com/roots/bedrock
[80] NotificationPusher: https://github.com/Ph3nol/NotificationPusher
[81] appserver.io: http://www.appserver.io/
[82] Resource Watcher: https://github.com/jasonlewis/resource-watcher
[83] matteosister/GitElephant: https://github.com/matteosister/GitElephant
[84] Эволюция HHVM JIT: http://www.hhvm.com/blog/2027/faster-and-cheaper-the-evolution-of-the-hhvm-jit
[85] Снова о HHVM: http://www.sitepoint.com/hhvm-revisited/
[86] FasterCGI with HHVM: http://www.hhvm.com/blog/1817/fastercgi-with-hhvm
[87] PHP 5.5 vs HHVM vs Node.js: http://letschat.info/php-5-5-vs-hhvm-vs-node-js/
[88] Laravel 4: E-Commerce: https://medium.com/p/c5afca925f28
[89] пакетах: https://medium.com/on-coding/5963ca9d6499
[90] аутентификации: https://medium.com/on-coding/e8d93c9ce0e2
[91] Access Control List: https://medium.com/on-coding/a7f2fa1f9791
[92] развертывании: https://medium.com/on-coding/3bed5d0e645e
[93] API: https://medium.com/on-coding/c643022433ad
[94] Создание простого ToDo-приложения на Laravel 4: http://www.flynsarmy.com/2013/12/creating-a-basic-todo-application-with-laravel-4-part-1/
[95] Laravel: http://laravel.com/
[96] HTTP Middleware в Laravel 4.1: http://fideloper.com/laravel-http-middleware
[97] StackPHP: http://stackphp.com/
[98] StackPHP: https://www.youtube.com/watch?v=s9CC8dKsK3s
[99] Журнал Web & PHP Декабрь 2013: http://webandphp.com/December2013
[100] Создавайте виртуальные машины легко с помощью PuPHPet: http://www.sitepoint.com/build-virtual-machines-easily-puphpet/
[101] 2: http://www.sitepoint.com/build-virtual-machines-easily-puphpet-part-2/
[102] PuPHPet: https://puphpet.com/
[103] Глобальная установка PHP-инструментов с помощью Composer: http://akrabat.com/php/global-installation-of-php-tools-with-composer/
[104] PHPUnit: http://phpunit.de
[105] Создаем простое RESTful приложение с помощью Silex: http://sleep-er.co.uk/blog/2013/Creating-a-simple-REST-application-with-Silex/
[106] Какой из фреймворков легковеснее Silex или Aura.Web_Project?: http://auraphp.com/blog/2013/12/23/lightness-silex-vs-web-project/
[107] Полное руководство по отладке и модульному тестированию с помощью PHPStorm: http://dutchweballiance.nl/techblog/the-definitive-remote-debug-and-unittest-with-phpstorm-guide-part-5-2/
[108] BDD с помощью Behat: http://net.tutsplus.com/tutorials/php/bdd-with-behat
[109] Тестируем email в PHP: http://codeception.com/12-15-2013/testing-emails-in-php.html
[110] Mailcatcher: http://mailcatcher.me/
[111] Тестирование Symfony 2 приложений с помощью Сodeception: http://devacademy.ru/testirovanie-symfony-2-prilozhenij-s-pomoshhyu-codeception/
[112] CachingIterator: http://blog.calevans.com/2013/12/19/the-php-cachingiterator/
[113] SPL: http://php.net/spl
[114] CachingIterator: http://www.php.net/manual/ru/class.cachingiterator.php
[115] Just-In-Time debugging and PHP Exception Breakpoints with PhpStorm and Xdebug: http://blog.jetbrains.com/phpstorm/2013/12/just-in-time-debugging-and-php-exception-breakpoints-with-phpstorm-and-xdebug/
[116] Xdebug: http://xdebug.org
[117] Как отличить DI-контейнер от локатора служб: http://paul-m-jones.com/archives/5843
[118] SOLID — Принцип единственной обязанности: http://net.tutsplus.com/tutorials/php/solid-part-1-the-single-responsibility-principle/
[119] Dependency Injection в Magento 2: http://www.eschrade.com/page/basic-configuring-the-magento-2-dependency-injection-container/
[120] 2: http://www.eschrade.com/page/using-dependency-injection-in-magento-2/
[121] PHP в командной строке с использованием Symfony Console: http://www.sitepoint.com/command-line-php-using-symfony-console/
[122] Dart и PHP: http://www.sitepoint.com/dart-php-legacy-animal-guess-game
[123] Предотвращаем проблемы безопасности в PHP: http://programming.oreilly.com/2013/12/preventing-problems-in-php-security.html
[124] Contributing Advent 24: http://derickrethans.nl/advent24.html
[125] Phalcon на Windows Azure: http://www.sitepoint.com/phalcon-windows-azure/
[126] Примеси в PHP (trait): http://anton.shevchuk.name/php/php-traits/
[127] Интеграция аутентификации Symfony2 и трекера Jira: http://habrahabr.ru/post/206888/
[128] Большое руководство по Yiinitializr: http://habrahabr.ru/post/207454/
[129] Резервное копирование веб-проектов на Яндекс.Диск: http://habrahabr.ru/post/206752/
[130] без ООП и натурщиц: http://habrahabr.ru/post/206898/
[131] История одного бэкдора: http://habrahabr.ru/post/206536/
[132] Laravel: Dependency Injection на практике: http://habrahabr.ru/post/206442/
[133] Покупаем билеты на поезд в Новый год: http://habrahabr.ru/post/206146/
[134] Лучшие ресурсы для начала работы с Drupal 8: http://habrahabr.ru/company/first/blog/205754/
[135] Интервью с Cal Evans: http://7php.com/php-interview-cal-evans/
[136] Как стать PHP-профессионалом: социальный аспект работы в команде: http://www.sitepoint.com/becoming-php-professional-social-aspects-teamwork/
[137] Будущее PHP: http://pooteeweet.org/blog/0/2259#m2259
[138] Вся правда о названиях функций в PHP: http://news.php.net/php.internals/70691
[139] Быстрый поиск по всем дайджестам: http://pronskiy.github.io/php-digest/
[140] Предыдущий выпуск: http://habrahabr.ru/company/zfort/blog/205286/
[141] PHPStorm IDE: http://www.jetbrains.com/phpstorm/
[142] футболку: http://itstuff.com.ua/shop/php/
[143] #ITStuff: http://itstuff.com.ua
[144] Источник: http://habrahabr.ru/post/207812/
Нажмите здесь для печати.