PHP-Дайджест № 185
PHP 8 Alpha 3, PhpStorm 2020.2, новый оператор ?->, снова обсуждение синтаксиса атрибутов и другие новости PHP Internals, обзор системы типов в PHP, порция полезных инструментов, видео, стримы.
https://habr.com/p/513558/
PHP 8 Alpha 3, PhpStorm 2020.2, новый оператор ?->, снова обсуждение синтаксиса атрибутов и другие новости PHP Internals, обзор системы типов в PHP, порция полезных инструментов, видео, стримы.
https://habr.com/p/513558/
Habr
PHP-Дайджест № 185 (20 июля – 3 августа 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8 Alpha 3, PhpStorm 2020.2, новый оператор ?-> , снова обсуждение синтаксиса атрибутов и другие новости PHP Internals, обзор...
Приведение типов в PHP во многих случаях работает по принципу «лучше хоть как-то, чем никак».
C последними улучшениями от Никиты все становится предсказуемее, и тем не менее код ниже вполне будет работать, хоть и не так, как , наверное, ожидалось.
Или можно взять обертку над значениями zakirullin/mess:
C последними улучшениями от Никиты все становится предсказуемее, и тем не менее код ниже вполне будет работать, хоть и не так, как , наверное, ожидалось.
debug=_0 // .envЧтобы избавиться от таких проблем, можно взять
(bool) getenv('debug'); // true!
filter_var
с его флагами и бросать свой Exception
. Или можно взять обертку над значениями zakirullin/mess:
(new Mess(getenv('debug')))->getAsBool();В Mess можно скармливать массивы/примитивы:
// _0 => UncastableValueException
$mess = new Mess($apiResponse);
$profile = new Profile(
$mess['profile']['name']->getString(),
$mess['votes']->getInt(),
$mess['is_deleted']->getBool()
)
// Dealing with typed ValueObject
GitHub
GitHub - zakirullin/mess: Make your PHP arrays sweet'n'safe
Make your PHP arrays sweet'n'safe. Contribute to zakirullin/mess development by creating an account on GitHub.
Финальное голосование по синтаксису атрибутов в PHP 8
https://wiki.php.net/rfc/shorter_attribute_syntax_change
К рассматриваемым раньше
Голосование проходит по системе STV. Это значит, что каждый ранжирует синтаксисы по предпочтению. Если я подсчитал все правильно, то в конечном результате на данный момент побеждает все-таки
https://gist.github.com/pronskiy/f2240b300e60cf38db1da2a94667ff6e#gistcomment-3415687
И дельное замечание от Джорди (Composer) о том, что переживать насчет синтаксиса не стоит. Раньше уже было такое, например, при выборе разделителя для неймспесов https://wiki.php.net/rfc/namespaceseparator. Тогда в 2008 в качестве альтернативы привычному сейчас
Benjamin Eberlei пишет, что изначально большинство хотели
https://wiki.php.net/rfc/shorter_attribute_syntax_change
К рассматриваемым раньше
@@Attr
, #[Attr]
, <<Attr>>
добавился еще вариант @[Attr]
.Голосование проходит по системе STV. Это значит, что каждый ранжирует синтаксисы по предпочтению. Если я подсчитал все правильно, то в конечном результате на данный момент побеждает все-таки
#[Attr]
.https://gist.github.com/pronskiy/f2240b300e60cf38db1da2a94667ff6e#gistcomment-3415687
И дельное замечание от Джорди (Composer) о том, что переживать насчет синтаксиса не стоит. Раньше уже было такое, например, при выборе разделителя для неймспесов https://wiki.php.net/rfc/namespaceseparator. Тогда в 2008 в качестве альтернативы привычному сейчас
\
рассматривались: **
, ^^
, %%
, :>
, :::
Upd: Benjamin Eberlei пишет, что изначально большинство хотели
::
, потому что такой синтаксис в C++ и проблема с этим синтаксисом была найдена позже, когда уже имелась реализация.PHP-Дайджест № 186
PHP 8 Beta 1, снова о синтаксисе атрибутов в PHP 8: #[Attr] vs @[Attr], предложение по синтаксису для BigInt, обзоры PHP 8 и много других видео, инструменты, стримы, подкасты.
https://habr.com/p/515416/
PHP 8 Beta 1, снова о синтаксисе атрибутов в PHP 8: #[Attr] vs @[Attr], предложение по синтаксису для BigInt, обзоры PHP 8 и много других видео, инструменты, стримы, подкасты.
https://habr.com/p/515416/
Habr
PHP-Дайджест № 186 (3 – 17 августа 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8 Beta 1, снова о синтаксисе атрибутов в PHP 8: #[Attr] vs @[Attr] , предложение по синтаксису для BigInt, обзоры PHP 8 и много...
Открытое собеседование по PHP | Эпизод #2 — Прием заявок
Пилотный выпуск открытого собеседования зашел отлично, и мы получили много ценных отзывов. Спасибо всем, кто был с нами на стриме и задавал вопросы!
Если вдруг вы не видели первый выпуск, то вот запись https://www.youtube.com/watch?v=FQNd9W3nb3A
Тем временем начинаем подготовку второго выпуска!
Требования для участия не поменялись:
• уровень middle/senior;
• PHP 7.x, PSR;
• ООП, SOLID, coupling/cohesion, вот это все;
• тестирование, PHPUnit;
• желателен опыт с Symfony 4/5;
• SQL, желательно PostgreSQL;
• представление о современных трендах в архитектуре приложений.
Темы будут ± те же, а вот вопросы подготовим новые, без Psalm 🙂
Заявку на участие можно отправить до 27 августа через форму: https://forms.gle/ES3nXiwf4ycosGEy9.
Вопросы в личку: @vudaltsov, @pronskiy.
Пилотный выпуск открытого собеседования зашел отлично, и мы получили много ценных отзывов. Спасибо всем, кто был с нами на стриме и задавал вопросы!
Если вдруг вы не видели первый выпуск, то вот запись https://www.youtube.com/watch?v=FQNd9W3nb3A
Тем временем начинаем подготовку второго выпуска!
Требования для участия не поменялись:
• уровень middle/senior;
• PHP 7.x, PSR;
• ООП, SOLID, coupling/cohesion, вот это все;
• тестирование, PHPUnit;
• желателен опыт с Symfony 4/5;
• SQL, желательно PostgreSQL;
• представление о современных трендах в архитектуре приложений.
Темы будут ± те же, а вот вопросы подготовим новые, без Psalm 🙂
Заявку на участие можно отправить до 27 августа через форму: https://forms.gle/ES3nXiwf4ycosGEy9.
Вопросы в личку: @vudaltsov, @pronskiy.
YouTube
Открытое собеседование PHP Point #1 / Валентин Удальцов vs Патрик Фельдеш
О Патрике: https://career.habr.com/sspat
Код для ревью: https://gist.github.com/vudaltsov/e6f7dd83a88b349cd5ee0e0d1795e5aa
Задача на SQL: https://gist.github.com/vudaltsov/e3d06ef2158a248337aa262a9fb60b5f
Большое спасибо Антону Мореву за помощь с трансляцией.…
Код для ревью: https://gist.github.com/vudaltsov/e6f7dd83a88b349cd5ee0e0d1795e5aa
Задача на SQL: https://gist.github.com/vudaltsov/e3d06ef2158a248337aa262a9fb60b5f
Большое спасибо Антону Мореву за помощь с трансляцией.…
Если думаете, что вам нечего рассказать на конференции, то сильно ошибаетесь! Из каждого года опыта работы можно вытянуть по идее, а то и больше, и они будут интересны многим.
В ближайшие четверг и понедельник ребята из программного комитета PHP Russia готовы созвониться со всеми желающими и за 15 минут помочь найти или докрутить тему для доклада на митапе, конференции или статьи.
🔗 Записаться можно здесь https://forms.gle/7mvqDwgE196CH7My9
Формат протестировали на 10 добровольцах и нашли по 2-3 темы для девяти из них.
Если же тема готова и помощь не нужна, то тогда отправляйте заявку на сайте https://phprussia.ru/moscow/2020
В ближайшие четверг и понедельник ребята из программного комитета PHP Russia готовы созвониться со всеми желающими и за 15 минут помочь найти или докрутить тему для доклада на митапе, конференции или статьи.
🔗 Записаться можно здесь https://forms.gle/7mvqDwgE196CH7My9
Формат протестировали на 10 добровольцах и нашли по 2-3 темы для девяти из них.
Если же тема готова и помощь не нужна, то тогда отправляйте заявку на сайте https://phprussia.ru/moscow/2020
Google Docs
Созвон с ПК PHP Russia для поиска тем
Александр Макаров и Кирилл Несмеянов из программного комитета конференции 15 минут порасспрашивают тебя про опыт и проекты, чтобы найти тему доклада, статьи и пр.
Новый синтаксис для атрибутов — #[Attr]
Голосование завершилось и в PHP 8 синтаксис для атрибутов будет такой же, как и в Rust.
Голосование завершилось и в PHP 8 синтаксис для атрибутов будет такой же, как и в Rust.
#[https://wiki.php.net/rfc/shorter_attribute_syntax_change
ORM\Entity,
ORM\Table("user")
]
class User
{
#[ORM\Id, ORM\Column("integer"), ORM\GeneratedValue]
private $id;
#[ORM\Column("string", ORM\Column::UNIQUE)]
#[Assert\Email(["message" => "The email '{{ value }}' is not a valid email."])]
private $email;
}
Прямо сейчас в эфире Кирилл Несмеянов потрошит асинхронщину https://www.twitch.tv/serafimarts
Ссылка обновлена, переехали на twitch 🤞
Ссылка обновлена, переехали на twitch 🤞
Twitch
SerafimArts - Twitch
SerafimArts streams live on Twitch! Check out their videos, sign up to chat, and join their community.
PHP-Дайджест № 187
PHP 8 beta 3, принят новый синтаксис атрибутов в PHP 8, Zephir всё, целая пачка полезных инструментов, статьи, видео, подкасты.
https://habr.com/ru/post/518064/
PHP 8 beta 3, принят новый синтаксис атрибутов в PHP 8, Zephir всё, целая пачка полезных инструментов, статьи, видео, подкасты.
https://habr.com/ru/post/518064/
Хабр
PHP-Дайджест № 187 (18 августа – 7 сентября 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8 beta 3, принят новый синтаксис атрибутов в PHP 8, Zephir всё, целая пачка полезных инструментов, статьи, видео, подкасты....
🔈 Выпуск подкаста Подлодка про PHP
Никита Попов рассказывает про внутренности PHP, а я про экосистему и прочее.
Про современный PHP можно было еще много сказать, так что давайте добросаем, чего не хватает в комментариях к выпуску!
https://soundcloud.com/podlodka/podlodka-180-php
Никита Попов рассказывает про внутренности PHP, а я про экосистему и прочее.
Про современный PHP можно было еще много сказать, так что давайте добросаем, чего не хватает в комментариях к выпуску!
https://soundcloud.com/podlodka/podlodka-180-php
SoundCloud
Podlodka #180 – PHP
Вокруг PHP в сообществе ходит много мифов, но это не мешает ему оставаться одним из самых популярных языков для Web разработки. Роман Пронский, PMM в команде PhpStorm, и Никита Попов, разработчик из т
Никита Попов и Николас Грекас: совместимость Symfony с PHP 8
https://www.youtube.com/watch?v=c3bpTBjhK2Y
Интервью записали достаточно давно, и на тот момент тесты Symfony на PHP 8 были зеленые, но теперь снова нет 😁
Issue по совместимости помечены тегом Help wanted, так что если есть время законтрибьютить, то вот вариант.
https://www.youtube.com/watch?v=c3bpTBjhK2Y
Интервью записали достаточно давно, и на тот момент тесты Symfony на PHP 8 были зеленые, но теперь снова нет 😁
Issue по совместимости помечены тегом Help wanted, так что если есть время законтрибьютить, то вот вариант.
YouTube
Nikita Popov and Nikolas Grekas: Symfony PHP 8 Compatibility
Symfony principal engineer Nikolas Grekas interviewed by PHP core contributor Nikita Popov. They discuss what problems the Symfony team encountered while making the framework compatible with the upcoming PHP 8 release.
Nikolas on Twitter: https://twitte…
Nikolas on Twitter: https://twitte…
Самый просматриваемый вопрос по PHP на Stack Overflow
В PHP 8, кроме прочего, добавили несколько функций для работы со строками, среди которых str_contains().
Имплементация тривиальная:
"Как проверить, содержит ли строка конкретное слово?" с 5.2 миллионами просмотров.
https://stackoverflow.com/questions/4366730/how-do-i-check-if-a-string-contains-a-specific-word
В PHP 8, кроме прочего, добавили несколько функций для работы со строками, среди которых str_contains().
Имплементация тривиальная:
function str_contains(string $haystack, string $needle): bool {Казалось бы, зачем вообще добавлять? Возможно для того, чтоб самым популярным вопросом по PHP на стековерфлоу не был вопрос:
return '' === $needle || false !== strpos($haystack, $needle);
}
"Как проверить, содержит ли строка конкретное слово?" с 5.2 миллионами просмотров.
https://stackoverflow.com/questions/4366730/how-do-i-check-if-a-string-contains-a-specific-word
Stack Overflow
How do I check if a string contains a specific word?
Consider:
$a = 'How are you?';
if ($a contains 'are')
echo 'true';
Suppose I have the code above, what is the correct way to write the statement if ($a contains 'are')?
$a = 'How are you?';
if ($a contains 'are')
echo 'true';
Suppose I have the code above, what is the correct way to write the statement if ($a contains 'are')?
PHP-Дайджест № 188
PHP 8 Beta 4, инициатива по консолидации PHP-сообщества, концепт PHP для GraalVM, предложение по дженерикам в Internals, а также инструменты, видео, подкасты, статьи.
https://habr.com/ru/post/519960/
PHP 8 Beta 4, инициатива по консолидации PHP-сообщества, концепт PHP для GraalVM, предложение по дженерикам в Internals, а также инструменты, видео, подкасты, статьи.
https://habr.com/ru/post/519960/
Хабр
PHP-Дайджест № 188 (7 – 21 сентября 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8 Beta 4, инициатива по консолидации PHP-сообщества, концепт PHP для GraalVM, предложение по дженерикам в Internals, полезные...
Стартовал ранний доступ (EAP) для PhpStorm 2020.3
В этом релизе запланирована полная поддержка PHP 8, Xdebug 3, PHPStan/Psalm (в следующих билдах), интеграция Guzzle с HTTP-клиентом и другие фичи, которые будут анонсироваться в блоге каждую неделю в течение следующих двух месяцев.
В первом посте все про поддержку PHP 8.
Как и всегда, EAP-версию можно использовать бесплатно.
https://blog.jetbrains.com/phpstorm/2020/10/phpstorm-2020-3-early-access-program-is-now-open/
В этом релизе запланирована полная поддержка PHP 8, Xdebug 3, PHPStan/Psalm (в следующих билдах), интеграция Guzzle с HTTP-клиентом и другие фичи, которые будут анонсироваться в блоге каждую неделю в течение следующих двух месяцев.
В первом посте все про поддержку PHP 8.
Как и всегда, EAP-версию можно использовать бесплатно.
https://blog.jetbrains.com/phpstorm/2020/10/phpstorm-2020-3-early-access-program-is-now-open/
На YouTube-канале PHP Point стрим по рефакторингу PHP-проекта
Update: Стрим закончился, по ссылке доступна запись.
https://www.youtube.com/watch?v=liMyAuxIoyM
Update: Стрим закончился, по ссылке доступна запись.
https://www.youtube.com/watch?v=liMyAuxIoyM
YouTube
Рефакторим c Александром Макаровым, Валентином Удальцовым, Валентином Назаровым, Леонидом Корсаковым
В четверг Александр Макаров (Yii) и Валентин Назаров (Skyeng) проведут стрим, на котором Валентин Удальцов (Пых) и Леонид Корсаков (PHP Kazan):
• посмотрят на код популярного гитхаб-проекта,
• найдут, что там порефакторить (и порефакторят),
• поделятся своими…
• посмотрят на код популярного гитхаб-проекта,
• найдут, что там порефакторить (и порефакторят),
• поделятся своими…
PHP-Дайджест № 189
PHP 8.0 RC 1 и переименование параметров внутренних функций, PhpStorm 2020.3 EAP, многострочные короткие лямбды, атрибуты для групп свойств и другие новости PHP Internals, порция полезных инструментов, статьи, стримы, подкасты.
https://habr.com/ru/post/522042/
PHP 8.0 RC 1 и переименование параметров внутренних функций, PhpStorm 2020.3 EAP, многострочные короткие лямбды, атрибуты для групп свойств и другие новости PHP Internals, порция полезных инструментов, статьи, стримы, подкасты.
https://habr.com/ru/post/522042/
Хабр
PHP-Дайджест № 189 (21 сентября – 5 октября 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8.0 RC 1 и переименование параметров внутренних функций, PhpStorm 2020.3 EAP, многострочные короткие лямбды, атрибуты для групп...
PhpStorm 2020.3 EAP #2: PHPStan, Psalm, начало дженериков
– PHPStan и Psalm работают из коробки.
– Для Psalm дополнение в тегах, поддержка типов и много всего.
– Для
https://blog.jetbrains.com/phpstorm/2020/10/phpstorm-2020-2-eap-2-phpstan-and-psalm-support-out-of-the-box/
– PHPStan и Psalm работают из коробки.
– Для Psalm дополнение в тегах, поддержка типов и много всего.
– Для
@template
пока только самый тривиальный кейс. https://blog.jetbrains.com/phpstorm/2020/10/phpstorm-2020-2-eap-2-phpstan-and-psalm-support-out-of-the-box/
The JetBrains Blog
PhpStorm 2020.3 EAP #2: PHPStan and Psalm Support Out-of-the-Box | The PhpStorm Blog
This EAP build brings support for PHPStan and Psalm static analyzers to PhpStorm.Last week, we launched the Early Access Program for PhpStorm 2020.3. For the next two months, we are going to be re
Месяц PHP-митапов: каждую субботу с 17 октября по 14 ноября
Можно подключиться к трансляциям или аккуратно сходить.
▪️ 17 октября, с 16:00 (Мск)
Встреча PHP-чата Йошкар-Олы ( @php_yola )
Трансляция | Детали
▪️ 24 октября, с 10:00 (Мск)
Встреча PHP-чата Ульяновска ( @ulskPHP )
Трансляция | Детали
▪️ 24 октября, с 14:30 (Киев)
ThinkPHP Онлайн, Харьков ( @php_w )
Детали
▪️ 31 октября, с 10:00 (Мск)
Встреча PHP-чата Самары ( @samara_php )
Трансляция | Детали
▪️ 7 ноября, с 11:00 (Мск)
Встреча PHP-чата Краснодара ( @phpkrd )
Трансляция | Детали
▪️ 14 ноября, с 11:00 (Мск)
Встреча PHP-чата Нижнего Новгорода ( @php_nn )
Трансляция | Детали
Бонус
▪️ 23 и 24 октября — онлайн-конференция PHPFest
Программа по новосибирскому времени https://2020.phpfest.ru/#program.
Можно смотреть бесплатно, но записей не будет.
▪️ 29 ноября 2020, Москва — PHP Russia
( @PHPRussiaConfChannel )
https://phprussia.ru/moscow/2020
Уже есть предварительное расписание.
Можно подключиться к трансляциям или аккуратно сходить.
▪️ 17 октября, с 16:00 (Мск)
Встреча PHP-чата Йошкар-Олы ( @php_yola )
Трансляция | Детали
▪️ 24 октября, с 10:00 (Мск)
Встреча PHP-чата Ульяновска ( @ulskPHP )
Трансляция | Детали
▪️ 24 октября, с 14:30 (Киев)
ThinkPHP Онлайн, Харьков ( @php_w )
Детали
▪️ 31 октября, с 10:00 (Мск)
Встреча PHP-чата Самары ( @samara_php )
Трансляция | Детали
▪️ 7 ноября, с 11:00 (Мск)
Встреча PHP-чата Краснодара ( @phpkrd )
Трансляция | Детали
▪️ 14 ноября, с 11:00 (Мск)
Встреча PHP-чата Нижнего Новгорода ( @php_nn )
Трансляция | Детали
Бонус
▪️ 23 и 24 октября — онлайн-конференция PHPFest
Программа по новосибирскому времени https://2020.phpfest.ru/#program.
Можно смотреть бесплатно, но записей не будет.
▪️ 29 ноября 2020, Москва — PHP Russia
( @PHPRussiaConfChannel )
https://phprussia.ru/moscow/2020
Уже есть предварительное расписание.
PHP-Дайджест № 190
PHP 8.0 RC 2, Xdebug 3 beta, PhpStorm EAP с поддержкой PHPStan и Psalm, порция полезных инструментов, статьи, видео, митапы.
https://habr.com/ru/post/524040/
PHP 8.0 RC 2, Xdebug 3 beta, PhpStorm EAP с поддержкой PHPStan и Psalm, порция полезных инструментов, статьи, видео, митапы.
https://habr.com/ru/post/524040/
Хабр
PHP-Дайджест № 190 (5 – 19 октября 2020)
Фото: Илья Шихалеев . Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8.0 RC 2, Xdebug 3 beta, PhpStorm EAP с поддержкой PHPStan и Psalm, порция полезных инструментов, статьи,...
Ищу соавтора для канала PHP Дайджест и связанных проектов
https://telegra.ph/Ishchu-soavtoraredaktora-kanala-PHP-10-19
https://telegra.ph/Ishchu-soavtoraredaktora-kanala-PHP-10-19
Telegraph
Ищу соавтора в PHP Дайджест
Вот уже несколько лет я веду Telegram канал PHP Digest. Концепция простая — периодически публикую интересные ссылки, добавляя к этому небольшой авторский комментарий. У канала уже почти 5k подписчиков — живая, настоящая и реально крутая аудитория. Ищу соавтора…
PHP-Дайджест № 191
PHP 8.0 RC 3 и видеообзоры новых возможностей, Composer 2, завершение разработки Faker (теперь в новой организации), два новых RFC для PHP 8.1, порция полезных инструментов, статьи, видео с прошедших митапов.
https://habr.com/ru/post/526098/
PHP 8.0 RC 3 и видеообзоры новых возможностей, Composer 2, завершение разработки Faker (теперь в новой организации), два новых RFC для PHP 8.1, порция полезных инструментов, статьи, видео с прошедших митапов.
https://habr.com/ru/post/526098/
Хабр
PHP-Дайджест № 191 (19 октября – 2 ноября 2020)
Фото: Валерий Горбачев ( PHP Krasnodar ) Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8.0 RC 3 и видеообзоры новых возможностей, Composer 2, завершение разработки Faker (теперь...