Size: a a a

2019 April 22
PHP Digest
PHP-Дайджест № 154
(9 – 21 апреля 2019)

https://habr.com/ru/post/448880/
источник
2019 April 25
PHP Digest
Интервью с Никитой Поповым в подкасте SDCast

https://sdcast.ksdaemon.ru/2019/04/sdcast-103/

Всем известный Никита Попов, автор многочисленных улучшений для PHP, совсем не публичная фигура. Информации о нем мало, и даже выступления на конференциях можно пересчитать по пальцам.

И вот Константин Буркалев записал интереснейшее интервью, в котором Никита рассказывает о том, как попал в PHP, как реализует различные RFC и где черпает вдохновение, о трудностях PHP, статической типизации и многом-многом другом.
SDCast
SDCast #103: в гостях Никита Попов
Ходит шутка, что как устроен PHP полностью знают только Никита Попов и Дмитрий Стогов. Так вот Никита в этом выпуске у меня в гостях! Последние несколько лет Никита активно участвует в развитии языка PHP, является автором многих интересных RFC, часть из которых уже внедрена в текущие версии PHP, и автором нескольких низкоуровневых библиотек, которые используются многими проектами.

В этом выпуске мы поговорили с Никитой о различных сторонах и аспектах языка и экосистемы PHP. Никита рассказал про своё знакомство с PHP, как он стал контрибьютить в проект и в итоге стал core разработчиком. Рассказал и про то, откуда он черпает идеи для новых улучшений языка.

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

Отдельно обсудили тему появления JIT в PHP. Что это даст PHP, какие плюсы несёт, какова сложность внедрения…
источник
2019 May 02
PHP Digest
Короткие лямбды будут в PHP 7.4

https://wiki.php.net/rfc/arrow_functions_v2#vote

Предложение прошло голосование и принято. Теперь в PHP будут короткие анонимные функции с использованием синтаксиса fn() => и автоматическим захватом переменных из внешнего скоупа по значению:

$y = 1;
$fn = fn($x) => $x + $y;

Итого в ближайшем обновлении PHP, которые выйдет в конце этого года, мы уже имеем FFI, предзагрузку, короткие лямбды, типизированные свойства, и целую пачку других улучшений https://wiki.php.net/rfc#php_74
источник
2019 May 06
PHP Digest
PHP-Дайджест № 155
(22 апреля – 6 мая 2019)

https://habr.com/p/450642/  

Обновления PHP, Codeception 3.0 и другие релизы, короткие лямбды в PHP 7.4 и обзор свежих RFC-предложений из PHP Internals, порция полезных инструментов, и многое другое!
источник
2019 May 20
PHP Digest
PHP-Дайджест № 156
(6 – 20 мая 2019)

https://habr.com/p/452560/  

PHPRussia, PHP fwdays'19, WordPress 5.2, о PHP в 2019, новости из PHP Internals, порция полезных инструментов, и многое другое!
источник
2019 May 22
PHP Digest
PhpStorm 2019.2 EAP

https://blog.jetbrains.com/phpstorm/2019/05/phpstorm-2019-2-early-access-program-is-open/

Запустили программу раннего доступа для второго мажорного релиза PhpStorm в этом году. Свежие билды с новыми фичами и фиксами будут выходить каждую неделю в течение следующих двух месяцев.

Из того, что можно пощупать уже сейчас:
 – Автовнедрение регулярок в PHP-коде
 – Поддержка типизированных свойств PHP 7.4 (ещё в процессе, но уже есть удобный квик-фикс для миграции)
 – Обновлённый тултип для инспекций – можно сразу в нем исправлять
 – Поддержка cURL формата в HTTP-клиенте
 – EditorConfig работает из коробки

На самом деле, в первом билде даже намного больше всего, но более подробно описывать все обновления буду в последующих постах в блоге PhpStorm.
По традиции EAP версии можно использовать совершенно бесплатно.
источник
2019 May 24
PHP Digest
Розыгрыш билетов на PHP fwdays'19

https://fwdays.com/en/event/php-fwdays-2019

1 июня в Киеве пройдёт всем известная PHP fwdays! Конференция отличная и я сам обязательно на неё поеду.
Как старому другу конференции организаторы предоставили мне два билета. В качестве эксперимента попробуем разыграть их прямо тут на канале. Потому что я себе уже успел купить, как только объявили участие Фабьена из Symfony. ^^

Вероятно, поехать сможет не каждый подписчик канала, так что, если вам действительно нужен билет, подтвердите участие в розыгрыше нажав кнопку ниже. (счетчик обновляется с задержкой)

24 мая ровно в 20:00 бот случайным образом автоматически выберет двух человек из числа кликнувших. Они и получат билеты на PHP fwdays от PHP-Дайджеста.
До встречи на конференции!
*****
Победители: Juli Eliseeva, Konstantin Aleksandrov
источник
PHP Digest
О монетезации опенсорса

Коммерческая компания Doctrine
https://www.doctrine-project.org/2019/05/21/monetizing-open-source.html

Вслед за Laravel, Symfony, и Packagist ещё один PHP проект стал коммерческой компанией. Теперь Доктрину можно профинансировать на Патреоне, Tidelift, купить тренинги или консультации, а также записаться на вебинары по символической цене. Успехов и процветания проекту!

Кстати о коммерческих проектах. Если вы хотите продавать ваш PHP-код, то packagist.com выкатил интересную фичу https://blog.packagist.com/private-packagist-for-vendors/ Правда это не защитит от возможности скачать код и выложить в другом месте.

А вот на GitHub теперь можно добавить в репозиторий файл FUNDING.yml, в котором указываются возможные модели финансирования проекта, включая Open Collective, Community Bridge, и Tidelift. После чего в интерфейсе можно включить соответствующую кнопку. https://help.github.com/en/articles/displaying-a-sponsor-button-in-your-repository
источник
2019 June 03
PHP Digest
PHP-Дайджест № 157
(20 мая – 3 июня 2019)

https://habr.com/p/454558/  

Обновления PHP, коммерческая компания Doctrine, PhpStorm 2019.2 EAP, Symfony 4.3, порция полезных инструментов, видеозаписи, и многое другое!
источник
2019 June 14
PHP Digest
Дженерики в PHP

https://www.daveliddament.co.uk/articles/php-generics-today-almost/

По ссылке годная статья о том, что такое дженерики и почему они нужны в PHP. А также обзор существующих реализаций в Psalm/Phan.

На конференции PHPCE 2018 Расмус сказал https://youtu.be/SvEGwtgLtjA?t=2878, что основной проблемой для реализации является производительность. Потому что проверки типов в рантайме могут обойтись довольно дорого. Вспомним, что типизированные свойства вылились приблизительно в 1% падения производительности.
На PHP Russia Никита Попов также подтвердил https://youtu.be/teKnckg5x7I?t=1105, что реализовать будет не просто, но он хотел бы видеть эту фичу в PHP.

Вдогонку ещё пара статей на эту тему:
https://www.phparch.com/2018/11/the-case-for-generics-in-php/
https://stitcher.io/blog/php-generics-and-why-we-need-them
источник
2019 June 17
PHP Digest
PHP-Дайджест № 158
(3 – 17 июня 2019)

https://habr.com/p/456332/  

PHP 7.4.0 alpha 1, DevConfX, по паре принятых и новых RFC из PHP Internals, порция полезных инструментов, и многое другое!
источник
2019 June 28
PHP Digest
Пробелы или табы?
Для отступов есть кое-что поинтересней!
источник
2019 July 01
PHP Digest
PHP-Дайджест № 159
(17 июня – 1 июля 2019)

https://habr.com/ru/post/458292/

PHP 7.4.0 alpha 2, BeerPHP, обзор свежих RFC из PHP Internals, включая Strict operators directive, порция полезных инструментов, видео и многое другое!
источник
2019 July 02
PHP Digest
Полезное обновление proc_open() в PHP 7.4

https://twitter.com/nikita_ppv/status/1145684078114549760

В PHP 7.4 можно будет запускать внешние программы без необходимости проходить через шелл:

proc_open(['php', '-r', 'echo "Hello World\n";'], $descriptors, $pipes);

То есть вместо строки можно будет передавать массив аргументов. Это значит, что не надо думать об экранировании. На Linux аргументы передаются сразу в execvp. А на Windows формируется специальная экранированная строка по правилам, описанным в https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments.

В качестве бонуса теперь сигналы будут передаваться напрямую открытому процессу, а не шеллу.
источник
2019 July 12
PHP Digest
В PHP 7 нет тайпхинтов

Начиная с PHP 7, то что мы называем тайпхинтами (type hints) в действительности называется объявлениями типов (type declarations).

https://twitter.com/localheinz/status/1144902570294595584
источник
2019 July 15
PHP Digest
PHP-Дайджест № 160
(1 – 15 июля 2019)

https://habr.com/p/460022/

PHP 7.4.0 alpha 3, ReactPHP 1.0 LTS, порция полезных инструментов, видеозаписи с конференций, подкасты и многое другое!
источник
PHP Digest
Возобновляем традицию записывать короткую аудиверсию дайджеста в подкасте Пятиминутка PHP. Спасибо Петру Мязину!

https://soundcloud.com/5minphp/episode56
источник
2019 July 18
PHP Digest
Мёртвый код

https://blog.krakjoe.ninja/2019/07/trimming-phat.html

В PhpStorm и других инструментах есть инспекция для поиска "мёртвого кода" то есть, не просто недостижимого типа:

function foo() {
 return;
 echo "I'm dead";
};

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

Joe Watkins, core-контрибьютор PHP, а также автор pthreads, parallel, и pcov, разрабатывает новое расширение https://github.com/krakjoe/tombs, идея которого простая: подключаете его на продакшене, ждёте день/неделю/месяц, а потом смотрите статистику и видите, какие функции/методы ни разу не выполнялись — с большой вероятностью и в следующий год они не будут запущены, а значит можно их удалять не жалея.
источник
2019 July 25
PHP Digest
Vapor – serverless для Laravel

https://vapor.laravel.com/

Каждый год на Laracon US Тейлор представляет какой-то новый продукт в экосистеме Laravel.
На этот раз им стал Vapor – платный сервис для быстрого поднятия serverless PHP-приложений на инфраструктуре AWS Lambda.

https://mattstauffer.com/blog/introducing-laravel-vapor/ – отличный конспект доклада с основными моментами.

https://www.pscp.tv/freekmurze/1nAKEzLPpNgGL?t=15m16s – трансляция в перископе, профессиональную запись обещают в течение суток.
источник
2019 July 26
PHP Digest
Вышел PhpStorm 2019.2

https://habr.com/ru/company/JetBrains/blog/461449/

Вчера зарелизили второй мажорный выпуск PhpStorm в этом году. Возможно, вы уже успели обновиться и посмотреть обзор новых фич. Но если вдруг нет, то всё самое важное можно глянуть в коротком видеоролике (англ): https://www.youtube.com/watch?v=oA7Xmc_FwK0

А подробный разбор всех новых возможностей смотрите в хабрапосте.

Из наиболее заметного:
• Поддержка типизированных свойств PHP 7.4, включая быстрые фиксы для миграции
• Поиск дублирующегося кода на лету
• Подсветка и проверка регулярок в PHP
• EditorConfig работает из коробки и в нём можно указывать PhpStorm-опции
• Поддержка Shell-скриптов с инспекциями, быстрыми фиксами, встроенной документацией
• Подсветка синтаксиса для 20+ языков
источник