Fizz-Buzz в 52 символа?
https://code-golf.io/
На этом сайте можно посоревноваться в реализации самого короткого по числу символов решения простых задач. Например, попробуйте написать простейшую Fizz-Buzz задачку на PHP https://code-golf.io/fizz-buzz#php в 52 символа! А именно это и есть текущий рекорд.
https://code-golf.io/
На этом сайте можно посоревноваться в реализации самого короткого по числу символов решения простых задач. Например, попробуйте написать простейшую Fizz-Buzz задачку на PHP https://code-golf.io/fizz-buzz#php в 52 символа! А именно это и есть текущий рекорд.
PHP-Дайджест № 153
(25 марта – 8 апреля 2019)
https://habr.com/p/447130/
Принят PSR-14 Event Dispatcher, JIT в PHP 8, тройка RFC-предложений из PHP Internals, порция полезных инструментов, и многое другое!
(25 марта – 8 апреля 2019)
https://habr.com/p/447130/
Принят PSR-14 Event Dispatcher, JIT в PHP 8, тройка RFC-предложений из PHP Internals, порция полезных инструментов, и многое другое!
ORM для долгоживущих приложений
github.com/cycle/orm
Новая библиотека от автора RoadRunner Антона Титова. Аналог Doctrine для использования в демонизированных приложениях на PHP. Без утечек памяти и со сбрасываемым стейтом.
– Поддерживаются MySQL, MariaDB, PostgresSQL, SQLServer, SQLite;
– Совместима с Doctrine Collections и Zend Hydrator;
– Можно использовать в стиле ActiveRecord.
Сильная вещь, ждем документацию!
github.com/cycle/orm
Новая библиотека от автора RoadRunner Антона Титова. Аналог Doctrine для использования в демонизированных приложениях на PHP. Без утечек памяти и со сбрасываемым стейтом.
– Поддерживаются MySQL, MariaDB, PostgresSQL, SQLServer, SQLite;
– Совместима с Doctrine Collections и Zend Hydrator;
– Можно использовать в стиле ActiveRecord.
Сильная вещь, ждем документацию!
GitHub
GitHub - cycle/orm: PHP DataMapper, ORM
PHP DataMapper, ORM. Contribute to cycle/orm development by creating an account on GitHub.
Конец Zend Framework, начало Laminas project
https://getlaminas.org/
После длительного молчания наконец-то пролился свет на судьбу фреймворка.
Zend Framework переходит под крыло Linux Foundation https://www.linuxfoundation.org/blog/2019/04/lf-forms-laminas-project/ и меняет своё название на Laminas, чтобы отвязаться от коммерческого бренда Zend.
Фреймворк разрабатывался компанией Zend, затем вместе с самой компанией был поглощён Rogue Wave Software. В октябре прошлого года Зеев Сураски объявил о том, что вся команда Zend покинет RWS https://habr.com/ru/post/426809/. Пока о дальнейших планах рассказал только Enrico Zimuel, который перешёл в Elastic https://www.zimuel.it/blog/a_new_journey_with_PHP_again. Ждём новостей от Zeev Suraski, Adam Culp, Matthew Weier O'Phinney, и, конечно, Дмитрия Стогова.
Очень надеюсь это вдохнёт новую жизнь во фреймворк, и конкуренция с другими инструментами благоприятно воздействует на всю экосистему.
https://getlaminas.org/
После длительного молчания наконец-то пролился свет на судьбу фреймворка.
Zend Framework переходит под крыло Linux Foundation https://www.linuxfoundation.org/blog/2019/04/lf-forms-laminas-project/ и меняет своё название на Laminas, чтобы отвязаться от коммерческого бренда Zend.
Фреймворк разрабатывался компанией Zend, затем вместе с самой компанией был поглощён Rogue Wave Software. В октябре прошлого года Зеев Сураски объявил о том, что вся команда Zend покинет RWS https://habr.com/ru/post/426809/. Пока о дальнейших планах рассказал только Enrico Zimuel, который перешёл в Elastic https://www.zimuel.it/blog/a_new_journey_with_PHP_again. Ждём новостей от Zeev Suraski, Adam Culp, Matthew Weier O'Phinney, и, конечно, Дмитрия Стогова.
Очень надеюсь это вдохнёт новую жизнь во фреймворк, и конкуренция с другими инструментами благоприятно воздействует на всю экосистему.
Linux Foundation
Zend Framework transitions to Linux Foundation as new Laminas project
The Zend Framework is transitioning to the Linux Foundation and will launch later this year as a new project called Laminas.
Интервью с Никитой Поповым в подкасте SDCast
https://sdcast.ksdaemon.ru/2019/04/sdcast-103/
Всем известный Никита Попов, автор многочисленных улучшений для PHP, совсем не публичная фигура. Информации о нем мало, и даже выступления на конференциях можно пересчитать по пальцам.
И вот Константин Буркалев записал интереснейшее интервью, в котором Никита рассказывает о том, как попал в PHP, как реализует различные RFC и где черпает вдохновение, о трудностях PHP, статической типизации и многом-многом другом.
https://sdcast.ksdaemon.ru/2019/04/sdcast-103/
Всем известный Никита Попов, автор многочисленных улучшений для PHP, совсем не публичная фигура. Информации о нем мало, и даже выступления на конференциях можно пересчитать по пальцам.
И вот Константин Буркалев записал интереснейшее интервью, в котором Никита рассказывает о том, как попал в PHP, как реализует различные RFC и где черпает вдохновение, о трудностях PHP, статической типизации и многом-многом другом.
SDCast
SDCast #103: в гостях Никита Попов
Ходит шутка, что как устроен PHP полностью знают только Никита Попов и Дмитрий Стогов. Так вот Никита в этом выпуске у меня в гостях! Последние несколько лет Никита активно участвует в развитии языка PHP, является автором многих интересных RFC, часть из которых…
Короткие лямбды будут в PHP 7.4
https://wiki.php.net/rfc/arrow_functions_v2#vote
Предложение прошло голосование и принято. Теперь в PHP будут короткие анонимные функции с использованием синтаксиса
Итого в ближайшем обновлении PHP, которые выйдет в конце этого года, мы уже имеем FFI, предзагрузку, короткие лямбды, типизированные свойства, и целую пачку других улучшений https://wiki.php.net/rfc#php_74
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
PHP-Дайджест № 155
(22 апреля – 6 мая 2019)
https://habr.com/p/450642/
Обновления PHP, Codeception 3.0 и другие релизы, короткие лямбды в PHP 7.4 и обзор свежих RFC-предложений из PHP Internals, порция полезных инструментов, и многое другое!
(22 апреля – 6 мая 2019)
https://habr.com/p/450642/
Обновления PHP, Codeception 3.0 и другие релизы, короткие лямбды в PHP 7.4 и обзор свежих RFC-предложений из PHP Internals, порция полезных инструментов, и многое другое!
PHP-Дайджест № 156
(6 – 20 мая 2019)
https://habr.com/p/452560/
PHPRussia, PHP fwdays'19, WordPress 5.2, о PHP в 2019, новости из PHP Internals, порция полезных инструментов, и многое другое!
(6 – 20 мая 2019)
https://habr.com/p/452560/
PHPRussia, PHP fwdays'19, WordPress 5.2, о PHP в 2019, новости из PHP Internals, порция полезных инструментов, и многое другое!
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 версии можно использовать совершенно бесплатно.
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 версии можно использовать совершенно бесплатно.
Розыгрыш билетов на 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
https://fwdays.com/en/event/php-fwdays-2019
1 июня в Киеве пройдёт всем известная PHP fwdays! Конференция отличная и я сам обязательно на неё поеду.
Как старому другу конференции организаторы предоставили мне два билета. В качестве эксперимента попробуем разыграть их прямо тут на канале. Потому что я себе уже успел купить, как только объявили участие Фабьена из Symfony. ^^
Вероятно, поехать сможет не каждый подписчик канала, так что, если вам действительно нужен билет, подтвердите участие в розыгрыше нажав кнопку ниже. (счетчик обновляется с задержкой)
24 мая ровно в 20:00 бот случайным образом автоматически выберет двух человек из числа кликнувших. Они и получат билеты на PHP fwdays от PHP-Дайджеста.
До встречи на конференции!
*****
Победители: Juli Eliseeva, Konstantin Aleksandrov
Fwdays
PHP fwdays'19 - The biggest PHP conference in Ukraine
The biggest PHP conference in Ukraine, where you can find up to date and practical talks from ukrainian and foreign experts in PHP.
О монетезации опенсорса
Коммерческая компания 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
Коммерческая компания 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
www.doctrine-project.org
Monetizing Open Source - Doctrine: PHP Open Source Project
The Doctrine Project is an open-source PHP project that is home to home to several PHP libraries primarily focused on database storage and object mapping. The core projects are the Object Relational Mapper (ORM) and the Database Abstraction Layer (DBAL) it…
PHP-Дайджест № 157
(20 мая – 3 июня 2019)
https://habr.com/p/454558/
Обновления PHP, коммерческая компания Doctrine, PhpStorm 2019.2 EAP, Symfony 4.3, порция полезных инструментов, видеозаписи, и многое другое!
(20 мая – 3 июня 2019)
https://habr.com/p/454558/
Обновления PHP, коммерческая компания Doctrine, PhpStorm 2019.2 EAP, Symfony 4.3, порция полезных инструментов, видеозаписи, и многое другое!
Дженерики в 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
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
www.daveliddament.co.uk
Dave Liddament
Dave Liddament's technical blog
PHP-Дайджест № 158
(3 – 17 июня 2019)
https://habr.com/p/456332/
PHP 7.4.0 alpha 1, DevConfX, по паре принятых и новых RFC из PHP Internals, порция полезных инструментов, и многое другое!
(3 – 17 июня 2019)
https://habr.com/p/456332/
PHP 7.4.0 alpha 1, DevConfX, по паре принятых и новых RFC из PHP Internals, порция полезных инструментов, и многое другое!
PHP-Дайджест № 159
(17 июня – 1 июля 2019)
https://habr.com/ru/post/458292/
PHP 7.4.0 alpha 2, BeerPHP, обзор свежих RFC из PHP Internals, включая Strict operators directive, порция полезных инструментов, видео и многое другое!
(17 июня – 1 июля 2019)
https://habr.com/ru/post/458292/
PHP 7.4.0 alpha 2, BeerPHP, обзор свежих RFC из PHP Internals, включая Strict operators directive, порция полезных инструментов, видео и многое другое!
Полезное обновление proc_open() в PHP 7.4
https://twitter.com/nikita_ppv/status/1145684078114549760
В 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.
В качестве бонуса теперь сигналы будут передаваться напрямую открытому процессу, а не шеллу.
Twitter
Nikita Popov
PHP 7.4 will support executing programs without going through a shell: proc_open(['php', '-r', 'echo "Hello World\n";'], $descriptors, $pipes); This means that you don't have to take care of shell argument escaping, and that signals will be correctly delivered…
В PHP 7 нет тайпхинтов
Начиная с PHP 7, то что мы называем тайпхинтами (type hints) в действительности называется объявлениями типов (type declarations).
https://twitter.com/localheinz/status/1144902570294595584
Начиная с PHP 7, то что мы называем тайпхинтами (type hints) в действительности называется объявлениями типов (type declarations).
https://twitter.com/localheinz/status/1144902570294595584
PHP-Дайджест № 160
(1 – 15 июля 2019)
https://habr.com/p/460022/
PHP 7.4.0 alpha 3, ReactPHP 1.0 LTS, порция полезных инструментов, видеозаписи с конференций, подкасты и многое другое!
(1 – 15 июля 2019)
https://habr.com/p/460022/
PHP 7.4.0 alpha 3, ReactPHP 1.0 LTS, порция полезных инструментов, видеозаписи с конференций, подкасты и многое другое!