Цикл foreach с условием if
https://twitter.com/FredBouchery/status/1062754707318415361
Даже не задумывался о том, что можно записать без скобок и в одну строку. Не list comprehension, конечно, но забавно.
https://twitter.com/FredBouchery/status/1062754707318415361
Даже не задумывался о том, что можно записать без скобок и в одну строку. Не list comprehension, конечно, но забавно.
Twitter
Frédéric Bouchery
New #PHP syntax since ... PHP 3.0 https://t.co/DdrJvGcnC0 ping @vcomposieux ;)
Symfony покидает PHP-FIG
Очередная драма в PHP.
Лидер Symfony Фабьен удалил себя и фреймворк из списка участников группы PHP-FIG.
И прокомментировал свое решение в Твиттере.
Фабьен говорит, что PSR-0 и PSR-4 (автозагрузка), a также PSR-1 и PSR-2 (стили кодирования) были хороши. PSR-11 (контейнер) вообще отличный, по его мнению. А вот PSR-7 (интерфейсы HTTP-сообщений) – не ок, потому что не базировался на уже существующих решениях (в частности, symfony/http-foundation), а создал свой фреймворк с нуля. Ну и теперь, PSR-14 (event dispatcher), похоже, идет тем же путем, пишет Фабьен.
Иными словами, Фабьен считает, что создавать интерфейсы и стандарты совсем с нуля нехорошо. И его можно понять.
С другой стороны, PSR-7 оказался жизнеспособен и позволил создать универсальные инструменты, которые можно использовать с разными фреймворками, в том числе благодаря адаптеру.
Но среди стандартов PHP-FIG был и не совсем удачный PSR-6 (интерфейс кэширования).
В списке разрабатываемых стандартов интерес представляет PSR-5 PHPDoc и надо заметить, что там тоже не все гладко.
Кстати, два года назад группу PHP-FIG уже покинули представители Laravel, Propel, Doctrine, Guzzle, Stash и Aura, в основном из-за того, что особо не принимали участия в обсуждениях.
Ну что тут сказать, удачи Фабьену и удачи PHP-FIG. Возможно, от разнообразия и конкуренции идей сообщество тоже получит определенную выгоду.
Очередная драма в PHP.
Лидер Symfony Фабьен удалил себя и фреймворк из списка участников группы PHP-FIG.
И прокомментировал свое решение в Твиттере.
Фабьен говорит, что PSR-0 и PSR-4 (автозагрузка), a также PSR-1 и PSR-2 (стили кодирования) были хороши. PSR-11 (контейнер) вообще отличный, по его мнению. А вот PSR-7 (интерфейсы HTTP-сообщений) – не ок, потому что не базировался на уже существующих решениях (в частности, symfony/http-foundation), а создал свой фреймворк с нуля. Ну и теперь, PSR-14 (event dispatcher), похоже, идет тем же путем, пишет Фабьен.
Иными словами, Фабьен считает, что создавать интерфейсы и стандарты совсем с нуля нехорошо. И его можно понять.
С другой стороны, PSR-7 оказался жизнеспособен и позволил создать универсальные инструменты, которые можно использовать с разными фреймворками, в том числе благодаря адаптеру.
Но среди стандартов PHP-FIG был и не совсем удачный PSR-6 (интерфейс кэширования).
В списке разрабатываемых стандартов интерес представляет PSR-5 PHPDoc и надо заметить, что там тоже не все гладко.
Кстати, два года назад группу PHP-FIG уже покинули представители Laravel, Propel, Doctrine, Guzzle, Stash и Aura, в основном из-за того, что особо не принимали участия в обсуждениях.
Ну что тут сказать, удачи Фабьену и удачи PHP-FIG. Возможно, от разнообразия и конкуренции идей сообщество тоже получит определенную выгоду.
Доступен PhpStorm 2018.3
Свежий релиз IDE с массой новых возможностей и улучшений под капотом!
Из интересного:
• Поддержка DQL
• Новые рефакторинги
• PHP CS Fixer – теперь можно автоматически исправлять ошибки кодстайла
• PHP_CodeSniffer – добавлена поддержка кастомных стандартов из фреймворков
• Деплоймент на несколько хостов одновременно
• Работа с пулреквестами GitHub прямо в IDE
• Новое окно Search Everywhere (Shift-Shift)
• Куча улучшений для БД
И очень много чего еще!
Подробнее можно посмотреть на сайте https://www.jetbrains.com/phpstorm/whatsnew/
Дисклеймер:
Я работаю в JetBrains в команде PhpStorm, поэтому не мог не поделиться тем, над чем работал последние 4 месяца.
Если у вас будут замечания, идеи, предложения – пишите @prnsk, буду рад пообщаться.
Свежий релиз IDE с массой новых возможностей и улучшений под капотом!
Из интересного:
• Поддержка DQL
• Новые рефакторинги
• PHP CS Fixer – теперь можно автоматически исправлять ошибки кодстайла
• PHP_CodeSniffer – добавлена поддержка кастомных стандартов из фреймворков
• Деплоймент на несколько хостов одновременно
• Работа с пулреквестами GitHub прямо в IDE
• Новое окно Search Everywhere (Shift-Shift)
• Куча улучшений для БД
И очень много чего еще!
Подробнее можно посмотреть на сайте https://www.jetbrains.com/phpstorm/whatsnew/
Дисклеймер:
Я работаю в JetBrains в команде PhpStorm, поэтому не мог не поделиться тем, над чем работал последние 4 месяца.
Если у вас будут замечания, идеи, предложения – пишите @prnsk, буду рад пообщаться.
JetBrains
What’s New in PhpStorm 2025.1
Explore the new PhpStorm version enhancements including better Xdebug support, nested .env variables, and improved WordPress setup.
Пятиминутка PHP
https://5minphp.ru/episode41/
Очень люблю подкасты. Среди тех, что слушаю регулярно:
• Радио-Т https://radio-t.com
• SDCast https://sdcast.ksdaemon.ru/
• Пятиминутка PHP https://5minphp.ru
• PHP Roundtable https://www.phproundtable.com/
• Frontend Weekend http://frontendweekend.ml/
• DevZen https://devzen.ru/
• Podlodka https://soundcloud.com/podlodka
А также очень нравятся еще:
• Треп Себранта http://asebrant.libsyn.com/
• Будет Сделано! https://willbedone.ru/
В качестве эксперимента записал короткую аудиоверсию PHP-Дайджеста для Пятиминутки PHP. Как вам такой формат?
https://5minphp.ru/episode41/
Очень люблю подкасты. Среди тех, что слушаю регулярно:
• Радио-Т https://radio-t.com
• SDCast https://sdcast.ksdaemon.ru/
• Пятиминутка PHP https://5minphp.ru
• PHP Roundtable https://www.phproundtable.com/
• Frontend Weekend http://frontendweekend.ml/
• DevZen https://devzen.ru/
• Podlodka https://soundcloud.com/podlodka
А также очень нравятся еще:
• Треп Себранта http://asebrant.libsyn.com/
• Будет Сделано! https://willbedone.ru/
В качестве эксперимента записал короткую аудиоверсию PHP-Дайджеста для Пятиминутки PHP. Как вам такой формат?
Пятиминутка PHP
Выпуск №41 — PHP-Дайджест № 144 (12 – 26 ноября 2018)
В этом выпуске автор знаменитых PHP-Дайджестов Роман Пронский рассказывает самое важное и интересное, произошедшее в мире PHP с 12 по 26 ноября 2018. Послушайте и обязательно оставьте отзыв на сайт…
Скандал в NPM: обзор зависимостей Symfony, Laravel, и API Platform
https://dunglas.fr/2018/11/about-the-dependencies-of-symfony/
У автора популярной js-библиотеки event-stream не было времени на ее поддержку и он передал права мейнтейнить первому попросившему не особо заморачиваясь проверкой личности. Попросивший оказался злоумышленником и встроил в библиотеку с 2 млн скачиваний ежедневно вредоносный код, который воровал данные биткоин-кошелька. После такого разработчики Node.js даже предлагали убрать NPM из дефолтной поставки.
По ссылке небольшой обзор мейнтейнеров зависимостей двух популярных PHP-фреймворков.
Вопрос безопасности зависимостей независимо от языка, конечно, остается открытым.
https://dunglas.fr/2018/11/about-the-dependencies-of-symfony/
У автора популярной js-библиотеки event-stream не было времени на ее поддержку и он передал права мейнтейнить первому попросившему не особо заморачиваясь проверкой личности. Попросивший оказался злоумышленником и встроил в библиотеку с 2 млн скачиваний ежедневно вредоносный код, который воровал данные биткоин-кошелька. После такого разработчики Node.js даже предлагали убрать NPM из дефолтной поставки.
По ссылке небольшой обзор мейнтейнеров зависимостей двух популярных PHP-фреймворков.
Вопрос безопасности зависимостей независимо от языка, конечно, остается открытым.
Kévin Dunglas - Founder of Les-Tilleuls.coop (worker-owned cooperative). Creator of API Platform, Mercure.rocks, Vulcain.rocks and of some Symfony components.
NPM dependency hell: comparison with Symfony, Laravel and API Platform - Kévin Dunglas
You may have noticed the recent fuss about the compromise of event-stream, a popular NPM package: event-stream is a transitive dependency of many popular JavaScript projects including Vue, Angular, Gatsby and VSCode (some of them are using a version that…
Serverless PHP
https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-programming-language-and-share-common-components/
На конференции AWS re:Invent 2018 показали обновления AWS Lambda. В частности, добавили возможность использовать любые кастомные рантаймы. PHP из коробки поддерживается через Stackery https://github.com/stackery/php-lambda-layer, но можно сделать и свой вариант. То есть вместо костылей https://medium.com/@stephenheron/serverless-php-9da3f00df5de в виде запуска через Node.js или Go, теперь можно писать полноценные лямбды на PHP.
А самое забавное, что PHP был serverless еще до того, как это стало модным: никакого состояния, каждый запрос выполняется с нуля. То есть PHP-разработчикам такая концепция вполне привычна и понятна. Как сказал Расмус https://twitter.com/rasmus/status/1055732551900450816: Serverless – это всего лишь другая модель деплоймента и биллинга.
https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-programming-language-and-share-common-components/
На конференции AWS re:Invent 2018 показали обновления AWS Lambda. В частности, добавили возможность использовать любые кастомные рантаймы. PHP из коробки поддерживается через Stackery https://github.com/stackery/php-lambda-layer, но можно сделать и свой вариант. То есть вместо костылей https://medium.com/@stephenheron/serverless-php-9da3f00df5de в виде запуска через Node.js или Go, теперь можно писать полноценные лямбды на PHP.
А самое забавное, что PHP был serverless еще до того, как это стало модным: никакого состояния, каждый запрос выполняется с нуля. То есть PHP-разработчикам такая концепция вполне привычна и понятна. Как сказал Расмус https://twitter.com/rasmus/status/1055732551900450816: Serverless – это всего лишь другая модель деплоймента и биллинга.
Amazon
New for AWS Lambda – Use Any Programming Language and Share Common Components | Amazon Web Services
I remember the excitement when AWS Lambda was announced in 2014! Four years on, customers are using Lambda functions for many different use cases. For example, iRobot is using AWS Lambda to provide compute services for their Roomba robotic vacuum cleaners…
Безопасность в PHP
https://paragonie.com/blog/2017/12/2018-guide-building-secure-php-software
Взломы и утечки данных происходят настолько часто, что уже никого и не удивляют. Так и взлом Quora https://blog.quora.com/Quora-Security-Update, который привёл к утечке хешей паролей 100 млн пользователей, воспринимается вполне буднично.
Поэтому нелишним будет пройтись по основным моментам безопасности в PHP приложениях.
Хорошее руководство: https://habr.com/company/mailru/blog/344696/
Бесплатная книга: https://phpsecurity.readthedocs.io/en/latest/index.html
RIPS Tech в декабре ежедневно публикуют информацию об уязвимостях, найденных в плагинах WordPress с полезными описаниями сути уязвимостей.
https://www.ripstech.com/php-security-calendar-2018/
https://paragonie.com/blog/2017/12/2018-guide-building-secure-php-software
Взломы и утечки данных происходят настолько часто, что уже никого и не удивляют. Так и взлом Quora https://blog.quora.com/Quora-Security-Update, который привёл к утечке хешей паролей 100 млн пользователей, воспринимается вполне буднично.
Поэтому нелишним будет пройтись по основным моментам безопасности в PHP приложениях.
Хорошее руководство: https://habr.com/company/mailru/blog/344696/
Бесплатная книга: https://phpsecurity.readthedocs.io/en/latest/index.html
RIPS Tech в декабре ежедневно публикуют информацию об уязвимостях, найденных в плагинах WordPress с полезными описаниями сути уязвимостей.
https://www.ripstech.com/php-security-calendar-2018/
Paragonie
The 2018 Guide to Building Secure PHP Software - Paragon Initiative Enterprises Blog
Everything a developer needs to know to build secure software in the PHP programming language in the year 2018
Релиз PHP 7.3.0
http://php.net/releases/7_3_0.php
Ура! Вышла в свет новая версия интерпретатора PHP.
Среди заметных изменений:
• Улучшения Heredoc и Nowdoc синтаксиса
• Функции
• Возможность использовать запятую после последнего аргумента функции
• Новая функция
• Добавлена функция
• Использование ссылок в
• Движок регулярных выражений обновлен до PCRE2
Полный список изменений можно найти тут https://github.com/php/php-src/blob/php-7.3.0/UPGRADING
А вот тут ключевые изменения в виде наглядных дифов https://www.tomasvotruba.cz/blog/2018/08/16/whats-new-in-php-73-in-30-seconds-in-diffs/
http://php.net/releases/7_3_0.php
Ура! Вышла в свет новая версия интерпретатора PHP.
Среди заметных изменений:
• Улучшения Heredoc и Nowdoc синтаксиса
• Функции
json_encode()
и json_decode()
будут бросать исключение в случае ошибки и наличия соответствующего флага• Возможность использовать запятую после последнего аргумента функции
• Новая функция
hrtime()
, которая возвращает время высокой точности и не зависит от системного времени• Добавлена функция
is_countable()
для проверки на перечислимость • Использование ссылок в
list()
• Значительное улучшение сборщика мусора • Движок регулярных выражений обновлен до PCRE2
Полный список изменений можно найти тут https://github.com/php/php-src/blob/php-7.3.0/UPGRADING
А вот тут ключевые изменения в виде наглядных дифов https://www.tomasvotruba.cz/blog/2018/08/16/whats-new-in-php-73-in-30-seconds-in-diffs/
PHP-Дайджест № 145 (26 ноября – 10 декабря 2018)
PHP 7.3.0, Symfony 4.2, Composer 1.8.0 и другие релизы, конец поддержки PHP 5.6 и PHP 7.0, свежие предложения из PHP Internals, порция полезных инструментов, видеозаписи докладов и многое другое!
https://habr.com/post/432600/
PHP 7.3.0, Symfony 4.2, Composer 1.8.0 и другие релизы, конец поддержки PHP 5.6 и PHP 7.0, свежие предложения из PHP Internals, порция полезных инструментов, видеозаписи докладов и многое другое!
https://habr.com/post/432600/
Habr
PHP-Дайджест № 145 (26 ноября – 10 декабря 2018)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0, Symfony 4.2, Composer 1.8.0 и другие релизы, конец поддержки PHP 5.6 и PHP 7.0, свежие предложения из PHP Internals, порция...
Подоспела короткая аудиоверсия дайджеста в подкасте Пятиминутка PHP
https://5minphp.ru/episode44/
https://5minphp.ru/episode44/
Пятиминутка PHP
Выпуск №44 — PHP-Дайджест № 145 (26 ноября – 10 декабря 2018)
PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) В этом выпуске автор знаменитых PHP-Дайджестов Роман Пронский ( рассказывает самое важное и интересное, произошедшее в мире PHP с 26 ноября по 10 де…
GitLab идет в Serverless
https://about.gitlab.com/2018/12/11/introducing-gitlab-serverless/
GitLab анонсировали serverless платформу, которая будет запущена 22 декабря. Реализована на базе гуглового Knative, то есть Kubernetes и Docker, а значит с поддержкой PHP проблем быть не должно https://github.com/knative/docs/tree/master/serving/samples/helloworld-php
https://about.gitlab.com/2018/12/11/introducing-gitlab-serverless/
GitLab анонсировали serverless платформу, которая будет запущена 22 декабря. Реализована на базе гуглового Knative, то есть Kubernetes и Docker, а значит с поддержкой PHP проблем быть не должно https://github.com/knative/docs/tree/master/serving/samples/helloworld-php
about.gitlab.com
Announcing GitLab Serverless
The true value of serverless is best realized via a single-application DevOps experience – that's why we're launching GitLab Serverless.
Унарный оператор +
Еще одна фишка PHP, о которой обычно не задумываешься. Унарный плюс можно использовать как оператор приведения типов, при этом строка с целым числом будет преобразована в int, а с вещественным – во float.
https://twitter.com/calebporzio/status/1072938706955161600
Еще одна фишка PHP, о которой обычно не задумываешься. Унарный плюс можно использовать как оператор приведения типов, при этом строка с целым числом будет преобразована в int, а с вещественным – во float.
https://twitter.com/calebporzio/status/1072938706955161600
Twitter
Caleb Porzio
➕🧮 Just discovered the "+" operator in PHP - could be useful
Yii умирает?
http://haru-atari.com/ru/blog/29/is-yii-dying
В июле один из core-разработчиков Yii Павел Климов дал в фейсбуке развернутый ответ на вопрос действительно ли фреймворк умирает. По его мнению все-таки да, потому что устарел и не успевает за тенденциями.
С тех пор к команде присоединился Андрей Васильев (hiqsol), опубликован план развития и в целом работа над Yii 3 заметно активизировалась.
Желаю вдохновения и сил команде Yii!
http://haru-atari.com/ru/blog/29/is-yii-dying
В июле один из core-разработчиков Yii Павел Климов дал в фейсбуке развернутый ответ на вопрос действительно ли фреймворк умирает. По его мнению все-таки да, потому что устарел и не успевает за тенденциями.
С тех пор к команде присоединился Андрей Васильев (hiqsol), опубликован план развития и в целом работа над Yii 3 заметно активизировалась.
Желаю вдохновения и сил команде Yii!
Бизнес-модель Symfony
https://symfony.com/blog/a-business-model-for-symfony
"Symfony нуждается в устойчивой бизнес-модели. ... Для кого-то может быть сюрпризом, но никто не может работать полный день бесплатно много лет. Некоторые опенсорс проекты могут поддерживаться как хобби, например, Twig. Но не Symfony. Сотни тысяч пользователей, куча активностей, множество зависимых проектов." – пишет лидер фреймворка Фабьен в своем посте.
И объявляет о создании независимой одноименной коммерческой компании, которая будет заниматься разработкой и поддержкой фреймворка, а также работать над платными продуктами вокруг него. На данный момент основная прибыль приходит от SymfonyInsight. Планируется развивать Symfony Cloud, и другие инструменты. Сам фреймворк при этом останется открытым и бесплатным.
Очень напоминает Laravel с его Forge, Nova, Envoyer и прочими платными сервисами.
https://symfony.com/blog/a-business-model-for-symfony
"Symfony нуждается в устойчивой бизнес-модели. ... Для кого-то может быть сюрпризом, но никто не может работать полный день бесплатно много лет. Некоторые опенсорс проекты могут поддерживаться как хобби, например, Twig. Но не Symfony. Сотни тысяч пользователей, куча активностей, множество зависимых проектов." – пишет лидер фреймворка Фабьен в своем посте.
И объявляет о создании независимой одноименной коммерческой компании, которая будет заниматься разработкой и поддержкой фреймворка, а также работать над платными продуктами вокруг него. На данный момент основная прибыль приходит от SymfonyInsight. Планируется развивать Symfony Cloud, и другие инструменты. Сам фреймворк при этом останется открытым и бесплатным.
Очень напоминает Laravel с его Forge, Nova, Envoyer и прочими платными сервисами.
Symfony
A business model for Symfony (Symfony Blog)
Почему random_int() безопаснее, чем mt_rand()?
https://telegra.ph/Pochemu-random-int-bezopasnee-chem-mt-rand-12-19-2
Интересный ответ на Реддите о том, почему стоит использовать random_int() для генерирования случайных чисел.
Вдогонку подборка материалов по безопасности в PHP:
https://github.com/guardrailsio/awesome-php-security
И всегда помните о человеческом факторе:
https://twitter.com/equiman/status/1070658939417751552
https://telegra.ph/Pochemu-random-int-bezopasnee-chem-mt-rand-12-19-2
Интересный ответ на Реддите о том, почему стоит использовать random_int() для генерирования случайных чисел.
Вдогонку подборка материалов по безопасности в PHP:
https://github.com/guardrailsio/awesome-php-security
И всегда помните о человеческом факторе:
https://twitter.com/equiman/status/1070658939417751552
Telegraph
Почему random_int() безопаснее, чем mt_rand()?
mt_rand() всего 2^32 возможных вариантов последовательностей (инициализируется с помощью microtime()) random_int() от 2^128 до 2^256 вариантов последовательностей (в зависимости от особенностей используемой OS) Можно построить базу данных, которая предсказывает…
Что нового в PHP 7.3
https://youtu.be/-GBi7tSqGDE
Обо всех значительных изменениях и интересных нюансах за час.
Отличный подробный доклад от автора переводов документации PHP на русский Алексея Пыльцына.
https://youtu.be/-GBi7tSqGDE
Обо всех значительных изменениях и интересных нюансах за час.
Отличный подробный доклад от автора переводов документации PHP на русский Алексея Пыльцына.
YouTube
“Что нового нас ожидает в PHP 7.3” — Алексей Пыльцын
Тезисы доклада:
• новые возможности
• новые функции
• изменения, ломающие обратную совместимость, и другие изменения
• планы на PHP 8.
• новые возможности
• новые функции
• изменения, ломающие обратную совместимость, и другие изменения
• планы на PHP 8.
PHP-Дайджест № 146
Итоги года, свежие новости, полезные инструменты и материалы, а также розыгрыш лицензий на PhpStorm!
https://habr.com/p/434128/
Итоги года, свежие новости, полезные инструменты и материалы, а также розыгрыш лицензий на PhpStorm!
https://habr.com/p/434128/
Habr
PHP-Дайджест № 146 (10 – 24 декабря 2018) + Итоги 2018 года
По традиции подведем итоги уходящего года и вспомним самые значимые события в мире PHP. И конечно, ссылки на свежие новости, полезные инструменты и интересные м...
Новые возможности в PHP 7.4
https://stitcher.io/blog/new-in-php-74
Несмотря на опасения по поводу безопасности и стабильности, голосование по FFI прошло успешно и предложение принято. А значит FFI будет добавлен в следующем мажорном релизе. Это даст возможность использовать функции и структуры данных из C-модулей напрямую. В качестве примера можно посмотреть на PHP-биндинг для TensorFlow https://github.com/dstogov/php-tensorflow.
К слову, PHP 7.4 обещает быть весьма интересным, потому что уже сейчас известно, что в нем будут следующие фичи:
– Предзагрузка https://t.me/phpdigest/13
– FFI https://wiki.php.net/rfc/ffi
– Типизированные свойства https://wiki.php.net/rfc/typed_properties_v2
– Оператор присвоения с проверкой на null https://wiki.php.net/rfc/null_coalesce_equal_operator
– Более консистентные типы: разрешается "сужать" тип возвращаемого значения в наследниках, и "расширять" тип параметров https://wiki.php.net/rfc/covariant-returns-and-contravariant-parameters
https://stitcher.io/blog/new-in-php-74
Несмотря на опасения по поводу безопасности и стабильности, голосование по FFI прошло успешно и предложение принято. А значит FFI будет добавлен в следующем мажорном релизе. Это даст возможность использовать функции и структуры данных из C-модулей напрямую. В качестве примера можно посмотреть на PHP-биндинг для TensorFlow https://github.com/dstogov/php-tensorflow.
К слову, PHP 7.4 обещает быть весьма интересным, потому что уже сейчас известно, что в нем будут следующие фичи:
– Предзагрузка https://t.me/phpdigest/13
– FFI https://wiki.php.net/rfc/ffi
– Типизированные свойства https://wiki.php.net/rfc/typed_properties_v2
– Оператор присвоения с проверкой на null https://wiki.php.net/rfc/null_coalesce_equal_operator
– Более консистентные типы: разрешается "сужать" тип возвращаемого значения в наследниках, и "расширять" тип параметров https://wiki.php.net/rfc/covariant-returns-and-contravariant-parameters
stitcher.io
What's new in PHP 7.4 - stitcher.io
A to-the-point list of features, changes and deprecations in PHP 7.4, available as of November 28, 2019
Никита Попов присоединился к команде PhpStorm
https://blog.jetbrains.com/phpstorm/2019/01/nikita-popov-joins-phpstorm-team/
Никита хорошо известен в сообществе PHP как вкладом в ядро PHP, так и юзерленд библиотеками.
Например, библиотека FastRoute была написана после попыток ребят продвигать роутер в виде расширения. Никита показал, что PHP тут не самое узкое место. Иначе, кто знает, куда это могло зайти: "Однажды PHP-разработчики будут модифицировать ядро Linux для роутинга, вместо того, чтоб решать реалистичные задачи".
И хотя на сегодняшний день уже есть реализации получше, например в Symfony, тем не менее пост Никиты о роутинге и регулярных выражениях очень интересен.
Вы, возможно, слышали про PHP Parser– это буквально он и есть, парсер PHP на PHP. Прежде всего он интересен сам по себе, но еще более интересны инструменты, которые реализованы с помощью него. Например, PHPStan, Psalm, BetterReflection, Infection, SuperClosure, and PHP-DI, и многие другие.
В PHP 5.5 Никита реализовал генераторы. Рекомендую перевод его поста о корутинах в PHP и совместной многозадачности.
В PHP 5.6 реализовал две связанные возможности: variadic functions и argument unpacking. С помощью них можно легко объявлять и использовать функции с переменным числом параметров.
Дальше в PHP 7 Никита ввел AST в качестве внутренней структуры представления. А также он работал непосредственно над самим PHP 7 в виде проекта NG вместе с Дмитрием Стоговым и Xinchen Hui.
PHP стал более консистентным благодаря вкладам Никиты: были введен единый синтаксис переменных и наконец-то нормальные исключения вместо ошибок.
Ну и, конечно же, нельзя не упомянуть типизированные свойства для PHP 7.4, где Никита выступает одним из соавторов.
В JetBrains фокус у Никиты останется тем же – ядро PHP и его экосистема. Желаю ему вдохновения и успехов!
https://blog.jetbrains.com/phpstorm/2019/01/nikita-popov-joins-phpstorm-team/
Никита хорошо известен в сообществе PHP как вкладом в ядро PHP, так и юзерленд библиотеками.
Например, библиотека FastRoute была написана после попыток ребят продвигать роутер в виде расширения. Никита показал, что PHP тут не самое узкое место. Иначе, кто знает, куда это могло зайти: "Однажды PHP-разработчики будут модифицировать ядро Linux для роутинга, вместо того, чтоб решать реалистичные задачи".
И хотя на сегодняшний день уже есть реализации получше, например в Symfony, тем не менее пост Никиты о роутинге и регулярных выражениях очень интересен.
Вы, возможно, слышали про PHP Parser– это буквально он и есть, парсер PHP на PHP. Прежде всего он интересен сам по себе, но еще более интересны инструменты, которые реализованы с помощью него. Например, PHPStan, Psalm, BetterReflection, Infection, SuperClosure, and PHP-DI, и многие другие.
В PHP 5.5 Никита реализовал генераторы. Рекомендую перевод его поста о корутинах в PHP и совместной многозадачности.
В PHP 5.6 реализовал две связанные возможности: variadic functions и argument unpacking. С помощью них можно легко объявлять и использовать функции с переменным числом параметров.
Дальше в PHP 7 Никита ввел AST в качестве внутренней структуры представления. А также он работал непосредственно над самим PHP 7 в виде проекта NG вместе с Дмитрием Стоговым и Xinchen Hui.
PHP стал более консистентным благодаря вкладам Никиты: были введен единый синтаксис переменных и наконец-то нормальные исключения вместо ошибок.
Ну и, конечно же, нельзя не упомянуть типизированные свойства для PHP 7.4, где Никита выступает одним из соавторов.
В JetBrains фокус у Никиты останется тем же – ядро PHP и его экосистема. Желаю ему вдохновения и успехов!