Это позволяет закэшировать всю директорию vendor при первом запуске и автоматически обновить кэш в случае изменения файла composer.lock, что экономит время сборки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤2
Нужно обновить много моделей на основе сложных условий?
Комбинируйте эти методы Eloquent для ускорения работы в 10–100 раз:
select() → извлекайте только IDchunkById() → используйте пакетную обработку для разделения больших объемов данныхtoQuery() → выполняйте обновление моделей напрямуюPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7
Пример HTTP-сервера на PHP с использованием файберов
Сервер обрабатывает каждый HTTP-запрос в отдельном файбере, что обеспечивает высокую производительность без привлечения потоков или процессов.
Для развёртывания используется Docker Compose, а код доступен в открытом репозитории
👉 Читать
➡️ @PHPgx | #cтатья
Сервер обрабатывает каждый HTTP-запрос в отдельном файбере, что обеспечивает высокую производительность без привлечения потоков или процессов.
Для развёртывания используется Docker Compose, а код доступен в открытом репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
CPX
Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.
👉 @PHPgx | #ресурсы
Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - laravel/cpx: Run any command from any composer package, even if it's not installed in your project.
Run any command from any composer package, even if it's not installed in your project. - laravel/cpx
👍6
Используйте метод построителя запросов orWhere() в Eloquent с осторожностью, чтобы избежать некорректной фильтрации данных.
Первый пример вернет любой курс, если в столбце "content" содержится ключевое слово, игнорируя предыдущие условия where!
Второй пример с вложенными условиями исправляет эту проблему.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤1👀1
Loupe
Полнотекстовая поисковая система с токенизацией, стеммингом, устойчивостью к опечаткам, фильтрами и географической поддержкой, основанная на чистом PHP и SQLite.
👉 @PHPgx | #ресурсы
Полнотекстовая поисковая система с токенизацией, стеммингом, устойчивостью к опечаткам, фильтрами и географической поддержкой, основанная на чистом PHP и SQLite.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - loupe-php/loupe: A full text search engine with tokenization, stemming, typo tolerance, filters and geo support based…
A full text search engine with tokenization, stemming, typo tolerance, filters and geo support based on only PHP and SQLite. - loupe-php/loupe
👍3🔥2
Это может помочь вам обнаружить нестабильные тесты или потенциальные ошибки, так как вы можете ожидать, что данное поле всегда будет заполнено в вашем приложении.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Наткнулся на интересный проект — php-wasm.
Это библиотека, которая позволяет запускать PHP прямо в браузере с использованием WebAssembly
👉 https://github.com/seanmorris/php-wasm
👉 @PHPgx | #ресурсы
Это библиотека, которая позволяет запускать PHP прямо в браузере с использованием WebAssembly
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - seanmorris/php-wasm: PHP in Browser, powered by WebAssembly.
PHP in Browser, powered by WebAssembly. Contribute to seanmorris/php-wasm development by creating an account on GitHub.
👍3
Media is too big
VIEW IN TELEGRAM
Если вы ищете самый простой способ сгенерировать документацию по API для вашего приложения на Laravel, которая также будет красивой, попробуйте следующее:
1. Установите Scribe через Composer (knuckleswtf/scribe) Это генератор документации API, который использует ваши маршруты, запросы, модели и ресурсы для автоматической генерации.
2. Настройте вывод Scribe Установите параметры конфигурации scribe.type в значение 'external_laravel' и scribe.theme в значение 'scalar'.
3. Запустите команду php artisan scribe:generate
Результаты впечатляют! Вы получаете массу возможностей бесплатно, включая автоматическую генерацию примеров на различных языках программирования, светлый/тёмный режим, поиск, версионность и многое другое. Попробуйте сами!
👉 https://github.com/knuckleswtf/scribe
👉 @PHPgx | #tips
1. Установите Scribe через Composer (knuckleswtf/scribe) Это генератор документации API, который использует ваши маршруты, запросы, модели и ресурсы для автоматической генерации.
2. Настройте вывод Scribe Установите параметры конфигурации scribe.type в значение 'external_laravel' и scribe.theme в значение 'scalar'.
3. Запустите команду php artisan scribe:generate
Результаты впечатляют! Вы получаете массу возможностей бесплатно, включая автоматическую генерацию примеров на различных языках программирования, светлый/тёмный режим, поиск, версионность и многое другое. Попробуйте сами!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Это расширение для Chrome, которое позволяет встраивать PHP-консоль в панель разработчика DevTools. Оно использует пакет Spatie Laravel Web Tinker и встраивает его в панель инструментов, предоставляя доступ к консоли PHP прямо внутри DevTools.
Установка:
🔹 Скачайте и распакуйте проект.
🔹 Перейдите по адресу chrome://extensions/ в вашем браузере.
🔹 Включите "Режим разработчика" в правом верхнем углу (если он еще не включен).
🔹 Нажмите "Загрузить распакованное расширение" и выберите папку php-ext.
🔹 В вашем Laravel проекте установите пакет Spatie Laravel Web Tinker командой:
Теперь в панели консоли Chrome появится новая вкладка PHP. Кликнув по ней, вы получите доступ к PHP консоли, где сможете выполнять код Laravel или PHP прямо из браузера
👉 https://github.com/tnylea/php-ext
👉 @PHPgx | #ресурсы
Установка:
composer require spatie/laravel-web-tinker
Теперь в панели консоли Chrome появится новая вкладка PHP. Кликнув по ней, вы получите доступ к PHP консоли, где сможете выполнять код Laravel или PHP прямо из браузера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4❤2🌭1
Самая недооценённая особенность Laravel?
Фабрики баз данных.
Я бы даже осмелился сказать, что хорошо построенные фабрики — это признак кодовой базы для СТАРШИХ разработчиков, в отличие от кодовой базы для МОЛОДЫХ.
Позвольте объяснить.
Если я вижу кодовую базу, где фабрики отсутствуют или определены плохо, это обычно говорит о большем:
🔹 Нет автоматизированных тестов.
🔹 Нет тестирования с большими объемами данных.
🔹 И отсутствие внимания к реалистичным сценариям, приближённым к продакшн-окружению.
Если у вас есть ПРАВИЛЬНЫЕ фабрики, вероятно, вы гораздо больше заботитесь о тестировании и надежности приложения.
Подождите, а что такое эти СИЛЬНЫЕ фабрики? Это когда разработчик тратит ДОПОЛНИТЕЛЬНОЕ время на продумывание реалистичных форматов данных.
Они показывают, насколько разработчик ЗАБОТИТСЯ:
🔹 Заботится достаточно, чтобы симулировать реалистичные данные: fake()->paragraphs() вместо fake()->text().
🔹 Заботится достаточно, чтобы настроить вероятности: fake()->boolean(90) вместо статичного true.
Согласны?
✅ #tips by Povilas Korop
👉 @PHPgx
Фабрики баз данных.
Я бы даже осмелился сказать, что хорошо построенные фабрики — это признак кодовой базы для СТАРШИХ разработчиков, в отличие от кодовой базы для МОЛОДЫХ.
Позвольте объяснить.
Если я вижу кодовую базу, где фабрики отсутствуют или определены плохо, это обычно говорит о большем:
Если у вас есть ПРАВИЛЬНЫЕ фабрики, вероятно, вы гораздо больше заботитесь о тестировании и надежности приложения.
Подождите, а что такое эти СИЛЬНЫЕ фабрики? Это когда разработчик тратит ДОПОЛНИТЕЛЬНОЕ время на продумывание реалистичных форматов данных.
Они показывают, насколько разработчик ЗАБОТИТСЯ:
Согласны?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Используйте методы Arr::get() или хелпер data_get для получения значения из глубоко вложенного массива с помощью удобной "точечной" нотации. Метод data_get также поддерживает объекты!
Они также принимают значение по умолчанию, которое будет возвращено, если указанный ключ не существует.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2
Только что нашел утечку исходного кода Facebook за 2007 год 😃
Тогда не было Composer, PSR еще не существовал, а внедрение ООП шло медленно... но при этом на PHP строились огромные приложения!
Посмотрите исходный код здесь: https://gist.github.com/nikcub/3833406
👉 @PHPgx
Тогда не было Composer, PSR еще не существовал, а внедрение ООП шло медленно... но при этом на PHP строились огромные приложения!
Посмотрите исходный код здесь: https://gist.github.com/nikcub/3833406
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Перестаньте писать сложные запросы в контроллерах
Используйте специальные классы для запросов, чтобы элегантно обрабатывать агрегированные данные из нескольких моделей.
Преимущества:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
Принёс вам классный ресурс для изучения паттернов проектирования
На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как C#, Java, Python, PHP, Rust и ещё куча других.
Всё удобно разложено по категориям — порождающие, структурные, поведенческие.
Примеры суперпонятные, с кодом и пояснениями.
👉 Смотрите сами
👉 @PHPgx | #ресурсы
На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как C#, Java, Python, PHP, Rust и ещё куча других.
Всё удобно разложено по категориям — порождающие, структурные, поведенческие.
Примеры суперпонятные, с кодом и пояснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥2
Полезные проекты для изучения Laravel
Если вы хотите освоить Laravel на практике, вот два отличных проекта для разного уровня подготовки:
✅ Для начинающих — простой личный блог
— GitHub
✅ Для продвинутых новичков — небольшая CRM
— GitHub
Эти репозитории были созданы несколько лет назад, но их задачи остаются актуальными и в 2025 году. Они помогут освоить основы Laravel и получить практический опыт.
После их прохождения можно переходить к своим небольшим проектам, искать фриланс-заказы или даже пробовать устроиться на работу.
👉 Полный roadmap по Laravel: Laravel Roadmap
👉 @PHPgx | #ресурсы
Если вы хотите освоить Laravel на практике, вот два отличных проекта для разного уровня подготовки:
— GitHub
— GitHub
Эти репозитории были созданы несколько лет назад, но их задачи остаются актуальными и в 2025 году. Они помогут освоить основы Laravel и получить практический опыт.
После их прохождения можно переходить к своим небольшим проектам, искать фриланс-заказы или даже пробовать устроиться на работу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Какой PHP-фреймворк вам наиболее интересен? (Это поможет мне создавать контент, который вам будет полезен)
Anonymous Poll
63%
Laravel
34%
Symfony
4%
CodeIgniter
15%
Yii
3%
Zend Framework / Laminas
3%
CakePHP
3%
Phalcon
5%
Slim
33%
Хочу читать больше про чистый PHP
2%
Другое (пишите в комментариях)
👍13