#video
PHPp дайджест в формате видео. Примечателен он тем, что в нем Антон Титов, автор Road Runner, рассказывает про temporal.io, сервис для написания сложных воркфлоу, и их php sdk.
https://youtu.be/3xhOWG8RzEY
PHPp дайджест в формате видео. Примечателен он тем, что в нем Антон Титов, автор Road Runner, рассказывает про temporal.io, сервис для написания сложных воркфлоу, и их php sdk.
https://youtu.be/3xhOWG8RzEY
YouTube
PHP Digest Live #197. Обзор новостей PHP 8.1, Антон Титов про temporal.io — инструмент Uber в PHP
Обзор последних новостей и инструментов из мира PHP. В гостях Антон Титов с рассказом про temporal.io, инструмент, на котором построена архитектура Uber. А также результаты розыгрыша и новый конкурс со слониками.
PHP Дайджест № 197 https://habr.com/ru/post/539034/…
PHP Дайджест № 197 https://habr.com/ru/post/539034/…
#laravel
Продвинутые возможности роутинга в Laravel.
https://quickadminpanel.com/blog/laravel-routing-8-advanced-tips-languages-apis-groups-validation/
Продвинутые возможности роутинга в Laravel.
https://quickadminpanel.com/blog/laravel-routing-8-advanced-tips-languages-apis-groups-validation/
#beginner
Сборник алгоритмов, написанных на PHP. Хоть пхпшнику очень редко приходится иметь дело с алгоритмами и сложными вычислениями, знать и уметь работать с алгоритмами важно для развития и поддержания кругозора, а ещё потому, что это основы CS.
https://github.com/doganoo/PHPAlgorithms
Сборник алгоритмов, написанных на PHP. Хоть пхпшнику очень редко приходится иметь дело с алгоритмами и сложными вычислениями, знать и уметь работать с алгоритмами важно для развития и поддержания кругозора, а ещё потому, что это основы CS.
https://github.com/doganoo/PHPAlgorithms
GitHub
GitHub - doganoo/PHPAlgorithms: A collection of common algorithms implemented in PHP. The collection is based on "Cracking the…
A collection of common algorithms implemented in PHP. The collection is based on "Cracking the Coding Interview" by Gayle Laakmann McDowell - doganoo/PHPAlgorithms
#advanced #laravel
Настраиваем CI процесс для Laravel приложений с помощью GitHub Actions.
https://dudi.dev/laravel-continuous-integration-github-actions/
Настраиваем CI процесс для Laravel приложений с помощью GitHub Actions.
https://dudi.dev/laravel-continuous-integration-github-actions/
dudi.dev
Continuous integration(CI) for laravel using github actions | dudi.dev
Learn how to create continuous integration(CI) build pipeline for your laravel applications using github actions.
#advanced #laravel
Обзор компонента FormRequest от Laravel. Плюсы, минусы, минусы, минусы, ой, и устройство компонента изнутри.
https://proglib.io/w/bf832d65
Обзор компонента FormRequest от Laravel. Плюсы, минусы, минусы, минусы, ой, и устройство компонента изнутри.
https://proglib.io/w/bf832d65
php.zone
Laravel: FormRequest
В этом обзоре мы рассмотрим один из самых, на мой взгляд, ужасно реализованных и в то же время один из самых, по мнению разработчиков на Laravel, полезных компонентов фреймворка — FormRequest.
Philosophy of Software Design.epub
703.9 KB
#advanced #book
Замечательная книга на тему разработки правильного ПО. В книге вы узнаете про сложность ПО и как ее контролировать, про модульность (что такое хороший модуль), какие бывают абстракции, что такое сокрытие информации и почему это важно, а также почему нейминг - одна из сложных и важных вещей в разработке программ с хорошим дизайном.
Замечательная книга на тему разработки правильного ПО. В книге вы узнаете про сложность ПО и как ее контролировать, про модульность (что такое хороший модуль), какие бывают абстракции, что такое сокрытие информации и почему это важно, а также почему нейминг - одна из сложных и важных вещей в разработке программ с хорошим дизайном.
#laravel #junior
Роадмап для начинающих Laravel разработчиков от 2020-го года, но актуален также и для нынешнего.
https://raw.githubusercontent.com/Hasnayeen/laravel-developer-roadmap/master/images/roadmap.png
Роадмап для начинающих Laravel разработчиков от 2020-го года, но актуален также и для нынешнего.
https://raw.githubusercontent.com/Hasnayeen/laravel-developer-roadmap/master/images/roadmap.png
#advanced #laravel
Советы по оптимизации запросов к бд, если вы используете Laravel.
https://dudi.dev/optimize-laravel-database-queries/
Советы по оптимизации запросов к бд, если вы используете Laravel.
https://dudi.dev/optimize-laravel-database-queries/
dudi.dev
18 Tips to optimize laravel database queries | dudi.dev
These 18 laravel performance optimization tips for optimizing database queries will help you sky rocket your laravel application performance.
#advanced #composer
Надоело ждать PR в ваш любимый фреймворк или библиотеку? Особенно, если это PR в Laravel? Используйте плагин cweagans/composer-patches, который позволяет скачать патч из PR и начать его использовать как часть кода. Статья в поддержку идеи:
https://www.rias.be/blog/using-composer-patches
Надоело ждать PR в ваш любимый фреймворк или библиотеку? Особенно, если это PR в Laravel? Используйте плагин cweagans/composer-patches, который позволяет скачать патч из PR и начать его использовать как часть кода. Статья в поддержку идеи:
https://www.rias.be/blog/using-composer-patches
rias.be
Using composer patches | Rias.be
When you use software that is open source, you'll sometimes run into issues or small bugs that have already been fixed by the community in a PR or an issue, but have yet to be merged and/or released. If you're impatient and need that fix now, composer patches…
#laravel #middle
Интеграция MeiliSearch с Laravel Scout для реализации полнотекстового поиска.
https://tighten.co/blog/full-text-search-with-meilisearch-and-scout/
Интеграция MeiliSearch с Laravel Scout для реализации полнотекстового поиска.
https://tighten.co/blog/full-text-search-with-meilisearch-and-scout/
Tighten
Full-Text Search with MeiliSearch and Laravel Scout
Learn how to add full-text search to your Eloquent models using the free, self-hosted search engine MeiliSearch and Laravel Scout.
#advanced
Если ваш проект чуть больше, чем простой круд, то вы могли задуматься о правильном разделении зависимостей. Deptrac может помочь вам следить за тем, чтобы вы и разработчики из вашей команды не нарушали границ модулей вашего приложения.
https://github.com/sensiolabs-de/deptrac
Если ваш проект чуть больше, чем простой круд, то вы могли задуматься о правильном разделении зависимостей. Deptrac может помочь вам следить за тем, чтобы вы и разработчики из вашей команды не нарушали границ модулей вашего приложения.
https://github.com/sensiolabs-de/deptrac
GitHub
GitHub - deptrac/deptrac: Keep your architecture clean.
Keep your architecture clean. Contribute to deptrac/deptrac development by creating an account on GitHub.
#advanced #rfc
Черновик от Никиты Попова по добавлению аксессоров к свойствам объектов. Например, так может быть реализован доступ для получения свойства, но нельзя будет установить значение вне класса:
User {
public string $name { get; private set; }
public function __construct(string $name) {
$this->name = $name;
}
}
Больше примеров в rfc:
https://wiki.php.net/rfc/property_accessors
Черновик от Никиты Попова по добавлению аксессоров к свойствам объектов. Например, так может быть реализован доступ для получения свойства, но нельзя будет установить значение вне класса:
User {
public string $name { get; private set; }
public function __construct(string $name) {
$this->name = $name;
}
}
Больше примеров в rfc:
https://wiki.php.net/rfc/property_accessors
#advanced #video
Интересный доклад про будущее сетевого стека.
https://www.youtube.com/watch?v=aXYJlizk3CQ
Интересный доклад про будущее сетевого стека.
https://www.youtube.com/watch?v=aXYJlizk3CQ
YouTube
UDP против TCP, или Будущее сетевого стека / Александр Тоболь (Одноклассники)
Приглашаем на конференцию Saint HighLoad++ 2025, которая пройдет 23 и 24 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
Saint HighLoad++ 2019
Тезисы и презентация:
https://www.highload.ru/spb…
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
Saint HighLoad++ 2019
Тезисы и презентация:
https://www.highload.ru/spb…
#advanced #library
Если вы переживаете за типы и следите за их соответствие ожидаемым, можете воспользоваться библиотекой php-matcher. PhpMatcher позволяет вам описать, какие типы вы ожидаете, описать объединенные типы и проверить различные паттерны.
https://github.com/coduo/php-matcher
Если вы переживаете за типы и следите за их соответствие ожидаемым, можете воспользоваться библиотекой php-matcher. PhpMatcher позволяет вам описать, какие типы вы ожидаете, описать объединенные типы и проверить различные паттерны.
https://github.com/coduo/php-matcher
GitHub
GitHub - coduo/php-matcher: The easiest way to match data structures like JSON/PlainText/XML against readable patterns. Sandbox:
The easiest way to match data structures like JSON/PlainText/XML against readable patterns. Sandbox: - coduo/php-matcher
#advanced #security
Как Psalm помогает находить ошибки безопасности в коде.
https://psalm.dev/articles/detect-security-vulnerabilities-with-psalm
Как Psalm помогает находить ошибки безопасности в коде.
https://psalm.dev/articles/detect-security-vulnerabilities-with-psalm
psalm.dev
Detect PHP security vulnerabilities with Psalm
Security vulnerabilities are often pretty hard to spot manually. While a null-pointer error can make itself known very quickly, you can execute code…
#library
Если у вас легаси и вам очень хочется перейти на новую версию php, но нет времени, используйте Rector. Если разработчики из вашей команды не могут договориться об общем code-style, а тратить время на ревью не хочется, используйте Rector.
https://github.com/rectorphp/rector
Если у вас легаси и вам очень хочется перейти на новую версию php, но нет времени, используйте Rector. Если разработчики из вашей команды не могут договориться об общем code-style, а тратить время на ревью не хочется, используйте Rector.
https://github.com/rectorphp/rector
GitHub
GitHub - rectorphp/rector: Instant Upgrades and Automated Refactoring of any PHP 5.3+ code
Instant Upgrades and Automated Refactoring of any PHP 5.3+ code - rectorphp/rector
#advanced
В последнее время тема статического анализа очень популярна среди php разработчиков. Есть популярные инструменты вроде psalm, phpstan, phan и другие, которые помогают следить за выводом типов, за наличием безопасных проверок и многим другим. Но зачем это нужно разработчикам на языке с динамической типизацией? Об этом и многом другом вы узнаете из доклада.
https://www.youtube.com/watch?v=sf39f2q15cU
В последнее время тема статического анализа очень популярна среди php разработчиков. Есть популярные инструменты вроде psalm, phpstan, phan и другие, которые помогают следить за выводом типов, за наличием безопасных проверок и многим другим. Но зачем это нужно разработчикам на языке с динамической типизацией? Об этом и многом другом вы узнаете из доклада.
https://www.youtube.com/watch?v=sf39f2q15cU
#junior
Отрывок из книги Матьяса Нобака "PHP для веба" про исключения и обработку ошибок. Будет полезно в основном начинающим разработчикам.
https://matthiasnoback.nl/2021/02/excerpt-php-for-the-web-error-handling/
Отрывок из книги Матьяса Нобака "PHP для веба" про исключения и обработку ошибок. Будет полезно в основном начинающим разработчикам.
https://matthiasnoback.nl/2021/02/excerpt-php-for-the-web-error-handling/
matthiasnoback.nl
Excerpt from PHP for the Web: Error handling
Chapter 11: Error handling | Producing an error | Using different configuration settings in production | PHP errors | Summary
#junior
Почему лучше не использовать функцию empty и какие есть альтернативы.
https://beberlei.de/2021/02/19/when_to_use_empty_in_php_i_say_never.html
Почему лучше не использовать функцию empty и какие есть альтернативы.
https://beberlei.de/2021/02/19/when_to_use_empty_in_php_i_say_never.html
www.beberlei.de
When to use empty in PHP? I'd say never
This article contains a list of alternatives to use instead of empty expression.
#advanced #oop
Как на самом деле должны выглядеть объекты, чтобы они отличались от структур и процедур. Рассказывает и показывает Дмитрий Елисеев.
https://elisdn.ru/blog/142/structs-or-objects
Как на самом деле должны выглядеть объекты, чтобы они отличались от структур и процедур. Рассказывает и показывает Дмитрий Елисеев.
https://elisdn.ru/blog/142/structs-or-objects
elisdn.ru
Структуры с процедурами или объекты?
Сравнение процедурной, функциональной и объектно-ориентированной парадигмы. Отделение объектов от структур и процедур. Введение понятия сервиса.