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

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 1

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

Под катом вас также ждет конкурс [1] с призами от компании JetBrains [2]!

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 2 [2]

В конкурсе прогнозов прошлого года [3] победил chris_griffin [4] с предположением:

Php станет официальным языком в Индии.

К счастью этого не случилось, но вот прогноз steppefox [5], занявший третье место, во многом оказался близок к реальности:

1. Возрастет популярность HHVM.
2. Весной выйдет бета Yii2, поздней осенью стабильный релиз
3. В РФ сделают свой небольшой Laracon 2014
4. На Хабре появится несколько десятков провальных статей в духе «Ваш PHP не очень», или «мой любимый язык» vs PHP.
5. Переведут на русский книгу по Laravel.
6. Выйдет книга по Phalcon
7. На PHP-сцену попытается ворваться еще один фреймворк
8. Изменятся правила Zend-сертификации
9. Слоников наконец можно будет по человечески заказать

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 3

Безусловно, самым важным событием уходящего года стал выход новой мажорной версии интерпретатора — PHP 5.6. В релизе был представлено много новых возможностей: скалярные выражения в константах [6], функции с переменный числом аргументов [7], оператор возведения в степень ** [8], импорт функций и констант из пространств имен [9], встроенный отладчик phpdbg [10], перегрузка операторов для объектов GMP и для других расширений [11].
Приятным сюрпризом стал проект под кодовым названием PHPNG — интерпретатор PHP нового поколения. А все началось с сообщения Дмитрия Стогова в php.internals [12] и соответствующей ветки в репозитории. Была проделана огромная работа по оптимизации Zend Engine. Ветка была влита в master и стала основой следующей версии интерпретатора. Производительность PHPNG уже превышает PHP 5.6 и догоняет HHVM.
Также по итогам бурного обсуждения и голосования было решено эту самую следующую версию выпускать под номером 7 и согласно плану [13] релиз должен состояться уже в наступающем году.
Уходящий год порадовал также появлением формальной спецификации языка PHP [14].
Пожелаем удачи Группе PHP [15] в 2015 году!

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 4

Релиз Yii 2.0 — событие которого так долго ждали многие наконец-то состоялось в этом году! Сначала бета-релиз [16], а затем и последовавшие за ним релиз-кандидат и GA [17]. Отличная документация [18] и руководство [19], а также доступные книги (Yii 2 For Beginners [20], Web Application Development With Yii 2 And PHP [21]) помогут быстро освоиться с фреймворком.

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 5

Популярнейший PHP-фреймворк в этом году обозначился релизами 2.5, 2.6. Проекту Symfony исполнилось 9 лет [22], а на базе фреймворка создается все больше универсальных решений [23]. Не говоря уже о повсеместном использовании Symfony-компонентов и создании собственных фреймворков на их основе [24].

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 6

Альтернативная виртуальная машина PHP от Facebook продолжает активно развиваться, был представлен релиз 3.0.0 [25]. Некоторые крупные проекты переходят на использование HHVM — это и Wikipedia [26] и, например, Box [27]. Однако по-настоящему интересным стал анонс встроенного в HHVM языка HACK [28]. Язык представляет собой улучшенный PHP с такими желанными возможностями, как статическая типизация, лямбда-выражения, обобщения (generics), асинхронность и другие.
Среди других альтернативных реализаций PHP, появившихся в 2014 году, хочется отметить KPHP [29], PH7 [30], HippyVM [31], JPHP [32], Recki-CT [33].

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 7

Триумфальное шествие менеджера зависимостей для PHP продолжилось в 2014 году. PEAR окончательно мертв, от поддержки каналов отказались PHPUnit [34], Twig [35], Swiftmailer [36], Symfony [37] и другие. Компания Engine Yard выделила грант в размере $15k на год для поддержки Composer [38] в лице одного из авторов — Nils Adermann. Другой автор, Jordi Boggiano, занялся разработкой коммерческого Toran Proxy [39] для поддержки Composer. Пожелаем им удачи в новом году!

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 8

Официальный маскот PHP — слоник ElePHPant [40] — был создан Vincent Pontier [41] в 2007 году. Но в 2014 он пережил новый бум. Сначала ребята из php[architect] запустили кампанию на Kickstarter [42] с целью собрать $1000 на создание оранжевых PHP-слоников. Меньше чем за сутки им удалось собрать больше $20000! Затем сообщество PHPWomen успешно провело кампанию с фиолетовыми слониками [43] — $26395. И вот под конец года кампания с черными слониками от AmsterdamPHP [44].
Больше цветов, больше слоников в новом году!

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 9 Новости и релизы

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 13 PHP

  • RFC: Scalar Type Hints [60] — Еще одна попытка реализовать тайп-хинтинг для скаляров в PHP.
  • RFC: Unicode Codepoint Escape Syntax [61] — Принято предложение добавить возможность задания юникод символов в виде кодов: echo "u{202E}Reversed text";.
  • RFC: Nullsafe Calls [62] — Предложения добавить новый оператор ?->, который позволит делать безопасные цепочки вызовов, в случае когда возвразщаемое значение может быть null:
    $o?->mayFail1()?->mayFail2()?->mayFail3()?->mayFail4();

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 14 Инструменты

  • PHProutine [63] — Эмуляция горутин в PHP.
  • ProxyManager 1.0.0 [64] — Библиотека для генерации и управления прокси-объектами.
  • Omnipay [65] — Простая в использовании библиотека обработки платежей для PHP 5.3+.
  • Box Project [66] — Инструмент для удобного создания и управления phar-архивами.
  • Elephant.io [67] — Вебсокет клиент.
  • Couscous [68] — Генератор GitHub Pages сайта с документацией.
  • brandonsavage/booboo [69] — Продвинутый обработчик исключений и ошибок в PHP. Поддерживает различные виды отображения инофрмации об ошибках.
  • commando/dogpatch [70] — Фреймворк для тестирования HTTP API с помощью curl.

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 15 Материалы для обучения

Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 28 Аудио и видеоматериалы

Прислать ссылку [109]
Быстрый поиск по всем дайджестам [110]
Предыдущий выпуск [111]

Новогодний конкурс

PHP-Дайджест совместно с компанией JetBrains [2] в последнем дайджесте уходящего 2014 года объявляют конкурс среди постоянных читателей.
Предлагаем вам определить самого лучшего деятеля PHP-сообщества 2014 года. В комментарии напишите имя самого достойного кандидата и объясните за какой вклад в уходящем году его можно считать лучшим.
Авторы трех комментариев набравших больше всего голосов получат отличные новогодние подарки. Компания JetBrains [2] всех трёх победителей наградит персональными лицензиями PHPStorm IDE [112]! Также каждый победитель получит футболку с логотипом PHP [113] от интернет-магазина #ITStuff [114].
Но самое важное — номинанту, который наберет больше всех плюсов, вместе со званием «Человек года по версии PHP-Дайджеста» будет отправлена та самая PHP-кружка:
Лучшее из мира PHP за 2014 год + конкурс от компании JetBrains! PHP-Дайджест № 53 - 31 [115]

Результаты будут объявлены 26 декабря в 19:00 по московскому времени.
Давайте вместе вспомним, кто был самым лучшим 2014 году?

Автор: pronskiy

Источник [116]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/77793

Ссылки в тексте:

[1] конкурс: http://habrahabr.ru/company/zfort/blog/207812/#competition

[2] JetBrains: http://www.jetbrains.com/

[3] конкурсе прогнозов прошлого года: http://habrahabr.ru/company/zfort/blog/207812/

[4] chris_griffin: http://habrahabr.ru/users/chris_griffin/

[5] steppefox: http://habrahabr.ru/users/steppefox/

[6] скалярные выражения в константах: http://php.net/migration56.new-features#migration56.new-features.const-scalar-exprs

[7] функции с переменный числом аргументов: http://php.net/functions.arguments.php#functions.variable-arg-list

[8] оператор возведения в степень **: http://ua2.php.net/migration56.new-features#migration56.new-features.exponentiation

[9] импорт функций и констант из пространств имен: http://php.net/migration56.new-features#migration56.new-features.use

[10] встроенный отладчик phpdbg: http://phpdbg.com/docs

[11] других расширений: https://github.com/jpauli/money

[12] сообщения Дмитрия Стогова в php.internals: http://habrahabr.ru/post/222219/

[13] плану: https://wiki.php.net/rfc/php7timeline

[14] спецификации языка PHP: https://github.com/php/php-langspec/tree/master/spec

[15] Группе PHP: http://php.net/credits.php

[16] бета-релиз: http://habrahabr.ru/post/219329/

[17] GA: http://habrahabr.ru/post/240149/

[18] документация: http://www.yiiframework.com/doc-2.0/index.html

[19] руководство: http://www.yiiframework.com/doc-2.0/guide-index.html

[20] Yii 2 For Beginners: https://leanpub.com/yii2forbeginners

[21] Web Application Development With Yii 2 And PHP: http://rmcreative.ru/blog/post/web-application-development-with-yii-2-and-php

[22] исполнилось 9 лет: http://symfony.com/blog/the-symfony-project-turns-9

[23] универсальных решений: http://symfony.com/marketplace/

[24] создании собственных фреймворков на их основе: http://fabien.potencier.org/article/50/create-your-own-framework-on-top-of-the-symfony2-components-part-1

[25] 3.0.0: http://hhvm.com/blog/4349/hhvm-3-0-0

[26] Wikipedia: https://www.youtube.com/watch?v=vgXgDVrb-BU&feature=youtu.be

[27] Box: http://tech.blog.box.com/2014/11/box-on-hhvm/

[28] анонс встроенного в HHVM языка HACK: https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/

[29] KPHP: http://habrahabr.ru/company/vkontakte/blog/214877/

[30] PH7: https://github.com/symisc/PH7

[31] HippyVM: http://hippyvm.com/

[32] JPHP: http://habrahabr.ru/post/216651/

[33] Recki-CT: https://github.com/google/recki-ct

[34] PHPUnit: https://github.com/sebastianbergmann/phpunit/wiki/End-of-Life-for-PEAR-Installation-Method

[35] Twig: http://blog.twig.sensiolabs.org/post/76626577337/pear-packages-wont-be-published-anymore

[36] Swiftmailer: http://blog.swiftmailer.org/post/84816320238/pear-packages-wont-be-published-anymore

[37] Symfony: http://symfony.com/blog/end-of-pear-support-for-symfony

[38] грант в размере $15k на год для поддержки Composer: https://blog.engineyard.com/2014/engine-yard-sponsoring-composer

[39] Toran Proxy: http://seld.be/notes/toran-proxy-and-the-future-of-composer

[40] слоник ElePHPant: http://php.net/elephpant.php

[41] Vincent Pontier: http://www.elroubio.net/

[42] кампанию на Kickstarter: https://www.kickstarter.com/projects/eliw/php-architect-orange-elephpant

[43] кампанию с фиолетовыми слониками: https://www.kickstarter.com/projects/77145396/phpwomen-purple-elephpants

[44] кампания с черными слониками от AmsterdamPHP: https://www.kickstarter.com/projects/rdohms/the-amsterdamphp-elephpant

[45] Как Composer на 70% ускорили: http://habrahabr.ru/post/244825/

[46] легендарный коммит: https://github.com/composer/composer/commit/ac676f47f7bbc619678a29deae097b6b0710b799

[47] тут: http://blog.ircmaxell.com/2014/12/what-about-garbage.html

[48] предлагается: http://dracony.org/php-memory-leaks-and-garbage-collection/

[49] Минимально допустимые версии зависимостей в Composer: http://symfony.com/blog/testing-minimal-versions-of-symfony-requirements

[50] была добавлена: https://github.com/composer/composer/pull/3450

[51] Файлы Сomposer индексируется в Google: http://us3.campaign-archive1.com/?u=af1d3ae63cfee88952a67461d&id=2db0d847cb&e=62af50f764

[52] индексируются: https://www.google.es/search?q=site%3A*%2Fcomposer.json&oq=site%3A*%2Fcomposer.json&aqs=chrome..69i57j69i58.13385j0j1&sourceid=chrome&es_sm=93&ie=UTF-8#q=site:www.*.*%2Fcomposer.lock

[53] Melody — однофайловые Composer-скрипты: http://melody.sensiolabs.org/

[54] Composer 1.0 alpha9: http://seld.be/notes/composer-1-0-alpha9

[55] PHP_CodeSniffer 2.0.0: https://www.squizlabs.com/php-codesniffer/2.0.0-released

[56] WordPress обновился до версии 4.1: http://habrahabr.ru/post/246273/

[57] Yii 2.0.1: http://habrahabr.ru/post/245227/

[58] TYPO3 7.0: http://www.opennet.ru/opennews/art.shtml?num=41182

[59] PHP 5.6.4, 5.4.36 и 5.5.20: http://php.net/index.php#id2014-12-18-3

[60] RFC: Scalar Type Hints: https://wiki.php.net/rfc/scalar_type_hints

[61] RFC: Unicode Codepoint Escape Syntax: https://wiki.php.net/rfc/unicode_escape#vote

[62] RFC: Nullsafe Calls: https://wiki.php.net/rfc/nullsafe_calls

[63] PHProutine: https://github.com/polonskiy/phproutine

[64] ProxyManager 1.0.0: http://ocramius.github.io/blog/proxy-manager-1-0-0-release/

[65] Omnipay: https://github.com/thephpleague/omnipay

[66] Box Project: https://github.com/box-project/box2

[67] Elephant.io: https://github.com/wisembly/elephant.io

[68] Couscous: https://github.com/CouscousPHP/Couscous

[69] brandonsavage/booboo: https://github.com/brandonsavage/booboo

[70] commando/dogpatch: https://github.com/commando/dogpatch

[71] Автоматизация развертывания Laravel-приложений с помощью Capistrano: https://www.airpair.com/laravel/posts/automating-laravel-deployments-using-capistrano

[72] Жадная загрузка в Laravel: http://kamranahmed.info/blog/2014/12/07/eager-loading-in-laravel/

[73] VarDumper — новый компонент в Symfony 2.6: http://habrahabr.ru/post/245623/

[74] Как просто подружить Symfony2 и RequireJS на примере SPA: http://habrahabr.ru/post/245911/

[75] Unpacking Symfony2: What are compiler passes: http://lrotherfield.com/blog/unpacking-symfony2-compiler-passes/

[76] Going SOA with Symfony2: A year and a half down the road: http://symfony.com/blog/going-soa-with-symfony2-a-year-and-a-half-down-the-road

[77] Преобразователи (Трансдьюсеры / Transducers) в PHP: http://mtdowling.com/blog/2014/12/04/transducers-php/

[78] представленная не так давно в Clojure: http://blog.cognitect.com/blog/2014/8/6/transducers-are-coming

[79] О поддерживаемой версии PHP: http://blog.ircmaxell.com/2014/12/on-php-version-requirements.html

[80] CodeIgniter 3.0 будет поддерживать 5.2: https://github.com/bcit-ci/CodeIgniter/pull/3208#issuecomment-67517433

[81] Async — многозадачность для Hack: http://hhvm.com/blog/7091/async-cooperative-multitasking-for-hack

[82] Expert PHP Deployments: https://leftnode.org/posts/expert-php-deployments.html

[83] QA процесс для PHP проектов с помощью Jenkins: http://www.sitepoint.com/series/php-quality-assurance-with-jenkins/

[84] 3 способа создания кроссплатформенных десктопных приложений на PHP: http://www.sitepoint.com/3-ways-develop-cross-platform-desktop-apps-php/

[85] Nightrain: https://github.com/naetech/nightrain

[86] wxPHP: http://wxphp.org/

[87] TideSDK: http://www.tidesdk.org/

[88] О том как работает покрытие кода в связке PHPUnit и Xdebug: http://derickrethans.nl/code-coverage.html

[89] Внедрение трейтов в Zend Framework 2: http://www.acim.net/2014/11/trait-injection-in-zend-framework-2/

[90] PHP vs Ruby — Срок годности приложения: http://leehblue.com/php-vs-ruby-application-shelf-life/

[91] Оплата Bitcoin с помощью Coinbase и Bitpay: http://kodeinfo.com/post/pay-with-bitcoin-using-coinbase-and-bitpay

[92] Использование трейтов в сущностях Doctrine: http://www.sitepoint.com/using-traits-doctrine-entities/

[93] Простое разделение на чтение/запись с помощью PHP расширения MySQLnd: https://blog.engineyard.com/2014/easy-read-write-splitting-php-mysqlnd

[94] Стековые машины: компиляторы: https://igor.io/2014/12/18/stack-machines-compilers.html

[95] Серия постов от Igor Wiedler о стековых машинах: https://igor.io/

[96] Composer. Небезопасно использовать packagist и приватный источник пакетов одновременно: http://habrahabr.ru/post/245745/

[97] WordPress для параноиков, часть 1: http://habrahabr.ru/post/244911/

[98] Как мы пытались внедрить Яндекс.Кассу: http://habrahabr.ru/post/245401/

[99] Виртуальные хостинги и php5.4, когда уже?: http://habrahabr.ru/post/245293/

[100] Дайджест интересных материалов из мира Drupal: http://habrahabr.ru/post/245209/

[101] Обработка и оформление отчетов в Excel на PHP: http://habrahabr.ru/post/245233/

[102] DOMPDF – экспорт данных из PHP в PDF: http://habrahabr.ru/post/245093/

[103] Несколько советов по ускорению Drupal: http://habrahabr.ru/post/245763/

[104] Генератор случайных личностей: http://habrahabr.ru/post/245927/

[105] Пространства имен в PHP: http://habrahabr.ru/post/245893/

[106] PHP на 5000 запросов в секунду: История масштабирования Hootsuite: https://www.youtube.com/watch?v=TZGeBAIMPII

[107] 2: https://www.youtube.com/watch?v=N1xBw16SP24

[108] Интервью с Зеевом Сураски для PHP Frameworks Day 2014: http://frameworksdays.com/event/php-frameworks-day-2014/review/zeev-suraski-interview

[109] Прислать ссылку: http://bit.ly/php-digest-add-link

[110] Быстрый поиск по всем дайджестам: http://pronskiy.github.io/php-digest/

[111] Предыдущий выпуск: http://habrahabr.ru/company/zfort/blog/244605/

[112] PHPStorm IDE: http://www.jetbrains.com/phpstorm/

[113] футболку с логотипом PHP: http://itstuff.com.ua/shop/php/

[114] #ITStuff: http://itstuff.com.ua

[115] Image: http://habrastorage.org/files/37a/44a/b1c/37a44ab1c0f0473f980545d741ac8786.jpg

[116] Источник: http://habrahabr.ru/post/246421/