PHP Fart Time
Ir al canal en Telegram
Привет, фартаны! Дурачимся, пилим OpenSource и рассказываем про передовые технологии в php. Авторы контента: @roxblnfk и @butschster
Mostrar más356
Suscriptores
+524 horas
+347 días
+18030 días
Carga de datos en curso...
Canales Similares
Nube de Etiquetas
Sin datos
¿Algún problema? Por favor, actualice la página o contacte a nuestro gerente de soporte.
Menciones Entrantes y Salientes
---
---
---
---
---
---
Atraer Suscriptores
diciembre '24
diciembre '24
+44
en 0 canales
noviembre '24
+222
en 5 canales
Get PRO
octubre '24
+102
en 1 canales
Get PRO
septiembre '24
+98
en 1 canales
Get PRO
agosto '24
+158
en 3 canales
Get PRO
julio '24
+47
en 0 canales
Get PRO
junio '24
+268
en 4 canales
Get PRO
mayo '24
+100
en 1 canales
Get PRO
abril '24
+64
en 2 canales
Get PRO
marzo '24
+28
en 0 canales
Get PRO
febrero '24
+61
en 0 canales
Get PRO
enero '24
+92
en 0 canales
Get PRO
diciembre '23
+297
en 0 canales
| Fecha | Crecimiento de Suscriptores | Menciones | Canales | |
| 21 diciembre | +3 | |||
| 20 diciembre | +2 | |||
| 19 diciembre | +1 | |||
| 18 diciembre | +1 | |||
| 17 diciembre | +1 | |||
| 16 diciembre | 0 | |||
| 15 diciembre | +2 | |||
| 14 diciembre | +1 | |||
| 13 diciembre | +3 | |||
| 12 diciembre | +1 | |||
| 11 diciembre | +1 | |||
| 10 diciembre | 0 | |||
| 09 diciembre | +7 | |||
| 08 diciembre | +2 | |||
| 07 diciembre | +2 | |||
| 06 diciembre | +5 | |||
| 05 diciembre | +1 | |||
| 04 diciembre | 0 | |||
| 03 diciembre | +3 | |||
| 02 diciembre | +3 | |||
| 01 diciembre | +5 |
Publicaciones del Canal
Привет, фартаны!
Закончился 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.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 | Sin texto... | 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.
Поставил бы там что-то позитивное мужицкое, но можно только сердечко.
А для вас, фартаны, ивент: ставьте здесь сердечко, если вы тоже фанатеете от Laravel и Тейлора. | 307 |
| 19 | Добавлю только, что без sudo не удалится. Не благодарите. | 348 |
| 20 | gRPC сервер на PHP с помощью Roadrunner, Spiral Framework, Docker
В недавнем выпуске PHP дайджеста обнаружил такую статью. Очень радует, что gRPC таки приходит в PHP мир, что этим занимаемся не только мы и что об этом пишут 👍 | 441 |
