uk
Feedback
PHP Fart Time

PHP Fart Time

Відкрити в Telegram

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

Показати більше
356
Підписники
+524 години
+347 днів
+18030 день

Триває завантаження даних...

Хмара тегів
Немає даних
Виникли проблеми? Будь ласка, оновіть сторінку або зверніться до нашого support-менеджера.
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
грудень '24
грудень '24
+44
в 0 каналах
листопад '24
+222
в 5 каналах
Get PRO
жовтень '24
+102
в 1 каналах
Get PRO
вересень '24
+98
в 1 каналах
Get PRO
серпень '24
+158
в 3 каналах
Get PRO
липень '24
+47
в 0 каналах
Get PRO
червень '24
+268
в 4 каналах
Get PRO
травень '24
+100
в 1 каналах
Get PRO
квітень '24
+64
в 2 каналах
Get PRO
березень '24
+28
в 0 каналах
Get PRO
лютий '24
+61
в 0 каналах
Get PRO
січень '24
+92
в 0 каналах
Get PRO
грудень '23
+297
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
21 грудня+3
20 грудня+2
19 грудня+1
18 грудня+1
17 грудня+1
16 грудня0
15 грудня+2
14 грудня+1
13 грудня+3
12 грудня+1
11 грудня+1
10 грудня0
09 грудня+7
08 грудня+2
07 грудня+2
06 грудня+5
05 грудня+1
04 грудня0
03 грудня+3
02 грудня+3
01 грудня+5
Дописи каналу
Привет, фартаны! Закончился 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
Немає тексту...
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