uz
Feedback
PHP Fart Time

PHP Fart Time

Kanalga Telegram’da o‘tish

Привет, фартаны! Дурачимся, пилим OpenSource и рассказываем про передовые технологии в php. Авторы контента: @roxblnfk и @butschster

Ko'proq ko'rsatish
356
Obunachilar
+524 soatlar
+347 kunlar
+18030 kunlar

Ma'lumot yuklanmoqda...

Taglar buluti
Ma'lumot yo'q
Muammo bormi? Iltimos, sahifani yangilang yoki bizning qo'llab-quvvatlash boshqaruvchimizga murojaat qiling>.
Kirish va chiqish esdaliklari
---
---
---
---
---
---
Obunachilarni jalb qilish
Dekabr '24
Dekabr '24
+44
0 kanalda
Noyabr '24
+222
5 kanalda
Get PRO
Oktabr '24
+102
1 kanalda
Get PRO
Sentabr '24
+98
1 kanalda
Get PRO
Avgust '24
+158
3 kanalda
Get PRO
Iyul '24
+47
0 kanalda
Get PRO
Iyun '24
+268
4 kanalda
Get PRO
May '24
+100
1 kanalda
Get PRO
Aprel '24
+64
2 kanalda
Get PRO
Mart '24
+28
0 kanalda
Get PRO
Fevral '24
+61
0 kanalda
Get PRO
Yanvar '24
+92
0 kanalda
Get PRO
Dekabr '23
+297
0 kanalda
Sana
Obunachilarni jalb qilish
Esdaliklar
Kanallar
21 Dekabr+3
20 Dekabr+2
19 Dekabr+1
18 Dekabr+1
17 Dekabr+1
16 Dekabr0
15 Dekabr+2
14 Dekabr+1
13 Dekabr+3
12 Dekabr+1
11 Dekabr+1
10 Dekabr0
09 Dekabr+7
08 Dekabr+2
07 Dekabr+2
06 Dekabr+5
05 Dekabr+1
04 Dekabr0
03 Dekabr+3
02 Dekabr+3
01 Dekabr+5
Kanal postlari
Привет, фартаны! Закончился 2023 год, начался 2024. Пришла пора оглянуться назад и посмотреть на проделанную работу, а заодно
Привет, фартаны! Закончился 2023 год, начался 2024. Пришла пора оглянуться назад и посмотреть на проделанную работу, а заодно расставить таймкоды. 📽 Все про PHP attributes 📽 Distributed Cron scheduling 📽 Создаем простой чат с использованием Spiral Framework, RoadRunner и Centrifugo WS сервер и VueJs 📽 Что такое RoadRunner app server и для чего он нужен PHP 📽 Как работать с gRPC в PHP 📽 Пишем простой Temporal workflow С Новым Годом! Говорят, он будет хуже, чем предыдущие, но последним (правда не говорят, в каком смысле). Пишите в комментариях, что бы вы хотели увидеть в следующем стриме.

2
Записали стрим по атрибутам. Мы их используем давно и везде - во фреймворке, в пет-проектах и на продуктах. А вы? Из того, что забыли сказать: 1. Есть пакет spiral/attributes, который раньше использовался для чтения атрибутов и аннотаций через единый интерфейс. Раньше он был очень актуален, а в версии пакета 2.х парсинг атрибутов работал даже на PHP 7.4 (хотя атрибуты появились только в PHP 8). spiral/attributes был хорошим помощником в переходный период с аннотаций на атрибуты, но сейчас, с отказом от аннотаций, он становится немного неактуальным и требует пересмотра концепции. Поэтому, отвечая на запрос втора канала Хэндлим тему, говорю, что производить сравнения spiral/attributes с либами типа этой было бы некорректно — слишком уж разные. 2. С наступающим Новым Годом!
634
3
Тоже накину про инициативу Валентина Удальцова по поводу new MyClass()->method() без скобок. Я считаю, что это изменение было бы к лучшему. Да, это не привычно, да можно сделать статический метод MyClass::new(), который потом приятно выглядит в fluent вызовах MyClass::new()->method(). Но: - Скорее всего вы сами по-началу плевались на эти скобочки. А кто-то плюётся и сейчас, прыгая между стеками. - Статические конструкторы - прекрасно, когда есть несколько путей создания объекта (fromFile(File $file), fromString(string $data)). Но когда мы описываем класс DTO, то на кой нам эти статические конструкторы? DTOшек много. А ещё на каждый статический конструктор придётся дублировать параметры с конструктора вместе с их описанием! - Насколько я понимаю, тут нет никакого слома обратной совместимости и всё, что работало, продолжит работать. Но самый важный для меня поинт — у меня на клавиатуре уже клавиша открывающей скобки начала барахлить. Давайте уже поскорее избавимся от этого скобочного зла 🔥 Если Валентин инициативу дожмёт - будет мега-круто. Я свою не дожал 🫤 Дискуссии: • PR на GitHub • Пост в канале Пых • Пост в канале Предводителев • Обсуждение в X
528
4
Мы заскедулили стримчик про скедулинг. Приходите и, не отрывая руку от лица, задавайте вопросы. https://www.youtube.com/live/4VaEy1h3hpo?si=n8cuhWee2qMEq3vx
641
5
Привет, фартаны! Наконец-то в телегу подвезли подсветку синтаксиса для блоков кода. Естественно, я пройду и обновлю все предыдущие посты. А чтобы наш канал заиграл новыми красками, нужно его как следует бустануть аж до 5 уровня 🍺🍺🍺🍺🍺 Кстати, а как вы относитесь к сторисам в телеге?
1 038
6
#ВредныеСоветы #Типизация #php Как сломать типизацию: https://3v4l.org/nTogS Как сломать readonly (и типизацию): https://3v4l.org/gSWFF Также не забываем про пакет unfinalize. Что там ещё нам мешает писать код по своим правилам?
1 210
7
#Article #Типизация #php Всем нравятся Constructor Property Promotion, не так ли? final class Foo { public function __construct( public bool $bar = false, public array $baz = [], ) { } } ☝️ эти фрагменты кода эквивалентны 👇 final class Foo { public bool $bar; public array $baz; public function __construct( bool $bar = false, array $baz = [], ) { $this->bar = $bar; $this->baz = $baz; } } Но не эквивалентны этому: final class Foo { public bool $bar = false; public array $baz = []; public function __construct( bool $bar = false, array $baz = [], ) { $this->bar = $bar; $this->baz = $baz; } } Разница в наличии значений по умолчанию у свойств. Теперь попробуем создать объекты из обоих вариантов через рефлексию без использования конструктора. https://3v4l.org/0tLcM object(Foo)#3 (0) { ["bar"]=> uninitialized(bool) ["baz"]=> uninitialized(array) } object(Foo)#3 (2) { ["bar"]=> bool(false) ["baz"]=> array(0) { } } Если у свойства нет значения по умолчанию, то оно будет неинициализированным. Такой способ создания объектов в обход конструктора широко используется под капотом многих библиотек, не только тех, которые используют doctrine/instantiator. И иногда это стоит учитывать при работе с классами, которые будут проходить через гидрацию или демаршализацию. У меня такое уже выстреливало 😳. А если ты счастливый пользователь Cycle ORM, то я рекомендую вообще закрывать конструкторы сущностей (делать пустой приватный конструктор) и вместо этого писать фабрики.
1 027
8
https://www.youtube.com/watch?v=AR9aCQWwXmk
876
9
https://www.youtube.com/watch?v=nbVALh1JpTQ го
883
10
Начинаем спонтанный стримчик https://youtu.be/TG_XgyKHt10
784
11
Через полтора часа стрим! На этот раз прямо в ютубчик и под пиво. Присоединяйтесь. Поговорим про RoadRunner. https://www.yout
Через полтора часа стрим! На этот раз прямо в ютубчик и под пиво. Присоединяйтесь. Поговорим про RoadRunner. https://www.youtube.com/live/3WdSCnzsFKE?si=aB3TeAGj_19ixsxK
715
12
gRPC и protobuf В этом стриме мы: - Призвали мейнтейнера RoadRunner и гуру Golang/Rust Валеру - Обсудили gRPC и protobuf, особенности работы с ними на PHP. - Показыли, как сделать сгенерированные из protobuf классы не такими всратыми. - Обозрели Buf и продемонстрировали его применение. https://youtu.be/E61resEfgUE
607
13
Matn yo'q...
528
14
А ещё мы релизнули пакет buggregator/trap, который поможет дампать protobuf объекты. Эта утилита умеет ловить любой трафик и даже почту, а ещё у неё есть все шансы стать шлюзом к Buggregator Cloud. Написано на PHP с любовью и файберами🧵 Залетайте хейтить и рефакторить код! Предлагайте идеи. Например, отличная идея - добавить поддержку MQTT протокола - если тоже пилите умный дом и вам актуально - поставьте эмоджу. Кстати, почему там ещё нет предложения добавить команду trap fart?
530
15
Привет, фартаны! Мы вернулись к истокам и записали видосик. За последние полгода Buggregator Server круто прорефакторился 💪, поэтому напомнить о нём будет не лишним. https://youtu.be/qsDIHwS58Q4
410
16
#Article Написал длиннопост, который не влез в формат телеги и телеграфа. ⚠️ Алерт: там много англицизмов. Читать на гитхабе: Cycle ORM до связей жадный Надеюсь факт наличия сего писания сведёт к забвению и зарастанию тропы, ведущей к одним и тем же граблям, на которые я наступаю уже далеко не первый раз, но о которых постоянно забываю.
364
17
https://t.me/tg_5minphp/1165 Для меня неожиданно тут только то, что кто-то использует Symfony Container вне Symfony. Мы с @butschster уже бенчили контейнеры и Yiisoft/di уверенно держится в ТОП 2 — в 2.5 раз быстрее, чем у Laravel по автовайрингу и доставанию из кеша. PHP-DI в 3.5 раза быстрее контейнера Laravel. > Стоит посоветовать ему Yii3 DI? Не стоит. Вот его ответ на эту тему: > While performance is criteria, so it the community, so they can contribute this package without learning a new framework. So Symfony/Laravel are the only options today. Томас уже прибухнул с Тейлором и теперь он один из тех чуваков на картинке выше :) PS: @petrmyazin когда уже сделаешь комментарии к каналу?
333
18
Этот пост напомнил об одной интересной картинке: https://proxify.io/worlds/php. Поставил бы там что-то позитивное мужицкое, н
Этот пост напомнил об одной интересной картинке: https://proxify.io/worlds/php. Поставил бы там что-то позитивное мужицкое, но можно только сердечко. А для вас, фартаны, ивент: ставьте здесь сердечко, если вы тоже фанатеете от Laravel и Тейлора.
307
19
Добавлю только, что без sudo не удалится. Не благодарите.
Добавлю только, что без sudo не удалится. Не благодарите.
348
20
gRPC сервер на PHP с помощью Roadrunner, Spiral Framework, Docker В недавнем выпуске PHP дайджеста обнаружил такую статью. Очень радует, что gRPC таки приходит в PHP мир, что этим занимаемся не только мы и что об этом пишут 👍
441