Пятиминутка PHP
2.87K subscribers
334 photos
26 videos
826 links
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Download Telegram
Несколько интересных подробностей о недавнем взломе git.php.net из подкаста
http://amp.gs/csjK

— Нет обязательного процесса Code Review для каждого коммита в исходники PHP, но ключевые разработчики просматривают поток коммитов
— Реализация новых RFC проходит code review ещё до голосования
— После взлома git.php.net сервер был отключён, способ взлома не понятен
— Переход на GitHub по хорошему должен был состояться ещё несколько лет назад. Этот случай форсировал переход
— На GitHub включена обязательная двухфакторная аутентификация
— На первом этапе не планируется использовать Pull Requests, чтобы не вносить слишком много изменений в рабочий процесс за раз
— Большинство контрибьютеров на данный момент не подписывают свои коммиты криптографической подписью, не плохо было бы внедрить этот процесс для всех
— Также планируется добавить автоматизированные проверки исходного кода, в первую очередь на использование небезопасных функций типа eval и появление base64 фрагментов в коде
— Полностью контролировать свою инфраструктуру раньше казалось хорошей идеей. Но это также требует внимания к обслуживанию, к настройке безопасности. Лучше доверить это профессионалам, в частности вместо поддержки своего git сервера использовать GitHub.
Хорошее описание работы Laravel Octane с подробностями и деталями, как происходит управление жизненным циклом приложения - много хаков и нюансов, нельзя так просто взять и отказаться от наследия «PHP умирает на каждом запросе» http://amp.gs/cMie
Порекомендую статью достаточно базового уровня, но при этом с хорошим и последовательным изложением: Laravel sessions vs PHP session

— В чём отличие cookie от сессий в PHP?
— Почему не стоит хранить логин в cookie и почему WordPress это делает?
— Время жизни cookie и время жизни сессии — в чём разница и как контролировать (session.gc\_maxlifetime vs session.cookie\_lifetime)?
— Как Laravel взаимодействует с PHP сессиями через различные «драйвера»?
— Что общего между WordPress и Laravel Cookie Session Driver?
— Принцип «remember me»


http://amp.gs/cbks
Сезон городских PHP-митапов начнётся со встречи в Нижнем Новгороде 24 апреля 2021 (Offline + Online) http://amp.gs/6xMP

🎤 Как переделать Symfony-проект в целое направление (Денис Юрьев)

🎤 Как структурировать код, чтобы не получить большой ком грязи (Валентин Удальцов)
Liskov Substitution Principle
Пятиминутка PHP
Принцип подстановки Барбары Лисков
- https://ru.wikipedia.org/wiki/Принцип_подстановки_Барбары_Лисков

Это гостевой выпуск Пятиминутки PHP - ведёт Кирилл Сулимовский
- https://www.linkedin.com/in/кирилл-сулимовский-57a697b6/

Также порекомендую подписаться на телеграм канал Кирилла
- https://t.me/beerphp

Кстати, вы тоже можете принять участие в записи подкаста, инструкции здесь:
- https://5minphp.ru/join/
250+ вопросов с собеседований по PHP. Три блока: для уровня Junior, Middle и Senior: http://amp.gs/6gZS
Forwarded from Проветримся!
я обычно не перепащиваю свои же посты, но тут дело полезное

Собрал отличный квест на выходные.

Идём по ссылке. Читаем, как предлагается регулировать просветительскую деятельность. Убеждаемся, что в текущей редакции данный акт противоречит конституции Российской Федерации (29. 4).
"Каждый имеет право свободно искать, получать, передавать, производить и распространять информацию любым законным способом."

Логинимся через Госуслуги.

Нажимаем дизлайк.

Вносим предложение:
Пункт 4 данного акта в текущем виде противоречит ст. 29 Конституции РФ, предусматривающей право свободно делиться любой информацией, прямо не запрещённой Конституцией и федеральными законами.
Предлагаю дополнить пункт 4:
"Просветительская деятельность, осуществляемая вне образовательных, научных и культурных организаций, не требует заключения вышеозначенного договора и может осуществляться самим субъектом просветительской деятельности."

Спасибо.
Что произойдёт, если сделать unset свойству класса?

- Для не типизированных свойств попытка чтения вызовет лишь Warning и вернёт NULL;

- Но если свойство типизировано, то оно перейдёт в состояние uninitialized и попытка чтения вызовет Fatal error.

http://amp.gs/6KMW
В PHP 8.0 можно передавать аргументы в функцию по имени (вне зависимости от позиции).

Но можно и комбинировать: сначала позиционные аргументы, затем именованные.

Настоящий взрыв мозга - это совместить с распаковкой из массива ...$args 🤯

http://amp.gs/63fd
https://www.youtube.com/watch?v=ZsHMHukIlJY - видео доклада про важность оформления кода, 530тыс просмотров!

Покажу несколько слайдов:
Вчера прочитал книгу Frontline PHP — Building modern applications with PHP 8: https://front-line-php.com/.

По большей части это сборник статей из блогов https://stitcher.io/ и https://freek.dev/.

Читается легко и понятно, очень доступный английский. Первые две части просто отличные, но в третьей части «PHP in Depth» слишком поверхностный материал. Возможно, авторы не хотели переусложнять, либо поленились, либо сами пока не углублялись, но написать что-то надо было.

Надеюсь, книга будет «живой», т.е. дополняться материалом и углубляться. Кроме того, осенью нас уже ждёт PHP 8.1!

Книга платная, цена зависти от страны, для России около 1000р. Если цена кусается, рекомендую просто прочитать два упомянутых выше блога — бесплатно. Кстати, некоторые статьи из них есть в переводе на Хабре.
Forwarded from PHPFest / 23-24 октября 2021
Опубликовали записи PHPFest 2020 💥

К чёрту всё! Эти затянувшиеся майские требуют радикальных решений. Радикально решили и опубликовали все записи с PHPFest 2020 на Ютьюб.

Две ссылки:
PHP по-русски
PHP по-английски

Приятного просмотра и до встречи после майских 🍿