- PVSM.RU - https://www.pvsm.ru -
Следуя традиции, мы решили подвести итоги уходящего года и выделить самые значимые события в мире PHP, которых, к счастью, было немало. И конечно же, подборка со ссылками на свежие материалы за последние три недели.
Под катом вас также ждет конкурс [1] с призами от компании JetBrains [2].
С наступающим Новым годом! Приятного чтения.
Безусловно, главным событием уходящего года стал выпуск [3] новой мажорной версии интерпретатора PHP 7. Среди нововведений [4] такие долгожданные возможности, как исключения вместо фатальных ошибок, тайпхинтинг скаляров со строгим режимом, и, конечно, производительность сравнимая с HHVM.
Был завершен [5] цикл поддержки PHP 5.4, а ветка PHP 5.5 перешла [6] в режим поддержки безопасности.
Самому языку PHP исполнилось 20 лет [7]. 8 июня 1995 года, датский программист Расмус Лердорф анонсировал первый релиз проекта Personal Home Page Tools (PHP Tools), небольшого набора CGI-скриптов, написанных на языке Си. За 20 лет из небольшой поделки PHP вырос в инструмент, который используется более чем на 80% всех веб-сайтов в мире, а также на 5 из топ-10 сайтов.
В уходящем году группой PHP-FIG был принят стандарт PSR-7: HTTP Message Interface [8]. Благодаря этому в PHP мире появился унифицированный интерфейс взаимодействия с HTTP. Стандарт был применен в Guzzle, Symfony и других проектах, а также породил массу новых инструментов в виде middleware.
Кроме того, за год были подготовлены несколько черновиков новых стандартов:
И вот совсем недавно принят PSR-6: Caching Interface [13].
Популярный PHP-фреймворк в этом году обозначился релизами 2.7.0 LTS [14], 2.8 [14] и 3.0 [15]. А самому проекту Symfony исполнилось 10 лет.
В 2015 году вышел Laravel 5 [16], a также Laravel 5.1 LTS [17] — первый релиз фреймворка с долгосрочной поддержкой. Кроме того, разработчиком был представлен микрофреймворк Lumen [18].
Уходящий год можно по праву назвать годом релизов — свет увидели мажорные версии многих ветеранов PHP-мира:
В следующем году нас ждут другие новости, а пока, последняя подборка ссылок в этом году.
_
в качестве разделителя в числах, для повышения читаемости: $i = 197_823_459; // 197823459
foreach
, __invoke()
и другое.Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [106].
Вопросы и предложения пишите на почту [107] или в твиттер [108].
Прислать ссылку [109]
Быстрый поиск по всем дайджестам [110]
← Предыдущий выпуск [111]
[2]
В этом году нашему любимому языку исполнилось 20 лет. А что будет с PHP в будущем? Каким будет PHP если не через 20, то хотя бы через 5 лет?
Оставляйте ваши прогнозы в комментариях к этому посту. А авторы трех лучших, набравших наибольшее количество плюсов, получат отличные новогодние подарки. Компания JetBrains [2] наградит всех трёх победителей годовыми подписками на PhpStorm [112]. Результаты будут объявлены 4 января в 19:00 по московскому времени.
Давайте пофантазируем, каким будет мир PHP в 2020?
С наступающим вас Новым годом!
Автор: Zfort Group
Источник [113]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/107472
Ссылки в тексте:
[1] конкурс: http://habrahabr.ru/company/zfort/blog/274153/#competition
[2] JetBrains: https://www.jetbrains.com/
[3] выпуск: http://php.net/archive/2015.php#id2015-12-03-1
[4] нововведений: https://github.com/tpunt/PHP7-Reference#features
[5] завершен: http://php.net/archive/2015.php#id2015-09-04-4
[6] перешла: http://news.php.net/php.internals/86784
[7] PHP исполнилось 20 лет: https://groups.google.com/forum/?hl=en#!original/comp.infosystems.www.authoring.cgi/PyJ25gZ6z7A/M9FkTUVDfcwJ
[8] PSR-7: HTTP Message Interface: http://www.php-fig.org/psr/psr-7/
[9] PSR-9: Security Disclosure: https://github.com/php-fig/fig-standards/blob/master/proposed/security-disclosure-publication.md
[10] PSR-10: Security Advisories: https://github.com/php-fig/fig-standards/blob/master/proposed/security-reporting-process.md
[11] PSR-11: Container Interface: https://github.com/container-interop/fig-standards/blob/master/proposed/container.md
[12] PSR-12: Extended Coding Style Guide: https://github.com/php-fig/fig-standards/blob/master/proposed/extended-coding-style-guide.md
[13] PSR-6: Caching Interface: http://www.php-fig.org/psr/psr-6/
[14] 2.7.0 LTS: http://symfony.com/blog/symfony-2-7-0-released
[15] 3.0: http://symfony.com/blog/symfony-3-0-0-released
[16] Laravel 5: http://habrahabr.ru/post/249911/
[17] Laravel 5.1 LTS: https://laravel-news.com/2015/04/laravel-5-1/
[18] Lumen: http://habrahabr.ru/post/255785/
[19] Drupal 8: https://www.drupal.org/news/drupal-8.0.0-released
[20] Magento 2: http://magento.com/blog/magento-news/new-era-commerce-innovation
[21] CodeIgniter 3.0: http://habrahabr.ru/post/254603/
[22] CakePHP 3.0.0: http://bakery.cakephp.org/articles/lorenzo/2015/03/22/cakephp_3_0_0_is_here
[23] Phalcon 2: http://habrahabr.ru/post/256047/
[24] PHPUnit 5.0: https://github.com/sebastianbergmann/phpunit/wiki/Release-Announcement-for-PHPUnit-5.0.0
[25] Guzzle 6.0: https://github.com/guzzle/guzzle/releases/tag/6.0.0
[26] Laravel 5.2: https://laravel-news.com/2015/12/laravel-5-2-is-released/
[27] Краткий обзор нововведений: http://habrahabr.ru/post/274065/
[28] PHP 7.0.1: http://php.net/index.php#id2015-12-17-1
[29] исправлено 35 ошибок: http://www.php.net/ChangeLog-7.php#7.0.1
[30] Slim Framework v3.0.0: http://www.slimframework.com/2015/12/07/slim-3.html
[31] WordPress 4.4 “Clifford”: https://wordpress.org/news/2015/12/clifford/
[32] WP REST API: https://wordpress.org/plugins/json-rest-api/
[33] RFC: Number Format Separator: https://wiki.php.net/rfc/number_format_separator
[34] RFC: Precise Session Management: https://wiki.php.net/rfc/precise_session_management
[35] RFC: Class Friendship: https://wiki.php.net/rfc/friend-classes
[36] Пример использования: https://gist.github.com/mdwheele/6d9b178dc25ebb829e4c#file-1sample-php-L3-L14
[37] PHP 5 Support Timeline: https://wiki.php.net/rfc/php56timeline
[38] текущим планом: http://php.net/supported-versions.php
[39] Alroniks/dtms: https://github.com/Alroniks/dtms
[40] iklimchuk: https://twitter.com/iklimchuk
[41] bocharsky-bw/FileNamingResolver: https://github.com/bocharsky-bw/FileNamingResolver
[42] bocharsky_bw: https://twitter.com/bocharsky_bw
[43] rybakit/msgpack.php: https://github.com/rybakit/msgpack.php
[44] rybakit: https://github.com/rybakit
[45] ErikvdVen/php-gif: https://github.com/ErikvdVen/php-gif
[46] tkf: http://habrahabr.ru/users/tkf/
[47] Level-2/Transphporm: https://github.com/Level-2/Transphporm
[48] Пост: http://www.sitepoint.com/transphporm-a-different-kind-of-template-engine/
[49] qandidate-labs/qandidate-toggle: https://github.com/qandidate-labs/qandidate-toggle
[50] писал Мартин Фаулер: http://martinfowler.com/bliki/FeatureToggle.html
[51] Туториал: http://www.sitepoint.com/feature-toggling-explained-with-qandidates-toggle/
[52] Roave/BetterReflection: https://github.com/roave/betterreflection
[53] goaop/parser-reflection: https://github.com/goaop/parser-reflection
[54] Sean-Der/Therac: https://github.com/sean-der/therac
[55] cweiske/php-sqllint: https://github.com/cweiske/php-sqllint
[56] ajbdev/cronlingo: https://github.com/ajbdev/cronlingo
[57] chrisgillis/slackwolf: https://github.com/chrisgillis/slackwolf
[58] blackfireio/player: https://github.com/blackfireio/player
[59] webmozart/expression: https://github.com/webmozart/expression
[60] Спецификация: https://ru.wikipedia.org/wiki/Спецификация_(шаблон_проектирования)
[61] jasonhinkle/php-gpg: https://github.com/jasonhinkle/php-gpg
[62] wnmp-dev 1.1.0: http://rmcreative.ru/blog/post/wnmp-dev-1.1.0
[63] flint/Lurker: https://github.com/flint/Lurker
[64] jasonlewis/resource-watcher: https://github.com/jasonlewis/resource-watcher
[65] servo-php/fluidxml: https://github.com/servo-php/fluidxml
[66] jenssegers/imagehash: https://github.com/jenssegers/imagehash
[67] dkvashninbay/magento2plugin: https://github.com/dkvashninbay/magento2plugin
[68] dkvashninbay: https://github.com/dkvashninbay
[69] Бенчмарк популярных проектов: PHP 7 против HHVM: http://www.midwesternmac.com/blogs/jeff-geerling/benchmarking-drupal-8-php-7-vs-hhvm
[70] другой бенчмарк: https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm-benchmark/
[71] Случайность в PHP7 – Повезет ли мне?: http://habrahabr.ru/post/272509/
[72] Быстрый старт с PHP 7: https://www.youtube.com/watch?v=SDw5PiG3M9A&feature=youtu.be
[73] Туториал по аутентификации в Symfony 3 с помощью компонента Guard: http://www.sitepoint.com/easier-authentication-with-guard-in-symfony-3/
[74] Улучшенная сериализация с Symfony: http://devacademy.ru/posts/uluchshiennaia-sierializatsiia-s-symfony/
[75] Внедряем Bootstrap 3 Datepicker в SonataAdminBundle: http://habrahabr.ru/post/272513/
[76] Symfony2 Voters и Doctrine Filters на страже безопасности: http://habrahabr.ru/post/273477/
[77] Сервис на Yii2: Перенос переводов и консольных команд в модули: http://www.elisdn.ru/blog/81/seo-service-on-yii2-first-refactoring
[78] Тестирование в Yii 2.0 с помощью Codeception — Фикстуры данных: http://danaluther.blogspot.ru/2015/12/testing-in-yii-20-with-codeception.html
[79] phanan/koel: https://github.com/phanan/koel
[80] Туториал по использованию очередей задач на основе beastalkd и Pheanstalk: https://jtreminio.com/2015/12/queues-working-smart-faster-in-parallel/
[81] Принципы, которые формируют успешные фреймворки: http://www.capitalone.io/blog/successful-framework-philosophies/
[82] Запуск PHP кластера на AWS: http://blog.zend.com/2015/12/22/running-a-php-cluster-on-aws/#.Vnv0ypMrLyI
[83] New Composer Patterns: http://seld.be/notes/new-composer-patterns
[84] Туториал по созданию PHP-окружения с помощью Docker: http://tech.yappa.be/docker-php-development
[85] Как безопасно создавать, распространять и обновлять PHAR: https://mwop.net/blog/2015-12-14-secure-phar-automation.html
[86] Конфигурационные значения — это тоже зависимости: http://paul-m-jones.com/archives/6203
[87] Компоненты React.js и рендеринг на стороне сервера в PHP: https://www.symfony.fi/entry/introduction-to-react-js-components-and-server-side-rendering-in-php
[88] 2: https://www.symfony.fi/entry/testing-react-js-isomorphic-rendering-with-php-v8js-and-the-symfony-microkernel
[89] Разбираемся как PHP работает внутри: https://blackfire.io/docs/24-days/22-php-internals
[90] События жизненного цикла в Doctrine 2: http://devacademy.ru/posts/sobytiia-zhizniennogho-tsikla-v-doctrine-2/
[91] Восемь причин использовать PHPDoc: http://www.elisdn.ru/blog/80/some-reasons-to-learn-phpdoc
[92] Дайджест интересных материалов из мира Drupal #16 : http://habrahabr.ru/post/274101/
[93] Становимся профессиональными PHP разработчиками. Часть 1: Недостающее звено: http://habrahabr.ru/post/273421/
[94] Часть 2: Важность других людей: http://habrahabr.ru/post/273609/
[95] Часть 3: Работа в команде: http://habrahabr.ru/post/273955/
[96] Как запустить собственный торрент-поисковик на базе RuTracker?: http://habrahabr.ru/post/273777/
[97] Использование comet сервера для реализации простого чата: http://habrahabr.ru/company/comet-server/blog/273573/
[98] Подборка видеозаписей на тему безопасности в PHP: https://www.youtube.com/playlist?list=PLIBMpx9lXmO3wbuxtDEJYa_G_Xx-2BU1e
[99] Bulgaria PHP Conference 2015: http://www.bgphp.org/videos/
[100] PHP North West Conference 2015: https://www.youtube.com/playlist?list=PLmmVKoOOmweM3OlWzn2u4Ps-1ai3h_YPF
[101] Статистика используемых версий PHP: https://developerjack.com/blog/2015/12/09/php-version-roundup/
[102] PHP код в 2006 и 2016: https://evertpot.com/php-code-in-2006-and-2016/
[103] Клон Heroku в 100 строк кода на PHP.: https://gist.github.com/igorw/1d67f422689017e814a8
[104] 10 Years of Symfony!: https://www.youtube.com/watch?v=sjH-kV1Jb3I&feature=youtu.be
[105] Обои PHP 7 от Heroku: http://art.heroku.com/php7
[106] личку: http://habrahabr.ru/conversations/pronskiy/
[107] почту: mailto:roman@pronskiy.com
[108] твиттер: https://twitter.com/pronskiy
[109] Прислать ссылку: http://bit.ly/php-digest-add-link
[110] Быстрый поиск по всем дайджестам: http://pronskiy.github.io/php-digest/
[111] Предыдущий выпуск: http://habrahabr.ru/company/zfort/blog/272495/
[112] PhpStorm: https://www.jetbrains.com/phpstorm/
[113] Источник: http://habrahabr.ru/post/274153/
Нажмите здесь для печати.