TGViewer
Channel Public Channel
PHP Portal | Программирование

PHP Portal | Программирование

@phpgx

Присоединяйтесь к нашему каналу и погрузитесь в мир для PHP-разработчика

Связь: @devmangx
Subscribers
4.64K
Photos
426
Videos
20
Links
212

Showing posts older than #249 · Back to latest

Older Posts 19 shown
Post #248 1.82K
💡 Совет по Laravel

2 переменные контекста, которые я всегда добавляю в обработчик исключений. Просто и эффективно!

Очень помогают при анализе логов.

👉 @PHPgx | #tips
  • 👍 6
  • 🔥 3
Post #246 2.12K
Полезные проекты для изучения Laravel

Если вы хотите освоить Laravel на практике, вот два отличных проекта для разного уровня подготовки:

✅ Для начинающих — простой личный блог
— GitHub

✅ Для продвинутых новичков — небольшая CRM
— GitHub

Эти репозитории были созданы несколько лет назад, но их задачи остаются актуальными и в 2025 году. Они помогут освоить основы Laravel и получить практический опыт.

После их прохождения можно переходить к своим небольшим проектам, искать фриланс-заказы или даже пробовать устроиться на работу.

👉 Полный roadmap по Laravel: Laravel Roadmap

👉 @PHPgx | #ресурсы
  • 👍 4
Post #245 1.91K
💡 Совет по Laravel

Ускорьте отладку с помощью методов toRawSql() или ddRawSql() на Eloquent Query Builder.

Эти методы выводят сырой SQL-запрос с подставленными реальными значениями вместо привязок — настоящий спасатель в трудную минуту 😉

👉 @PHPgx | #tips
  • 👍 17
  • 🔥 3
Post #243 1.93K
Принёс вам классный ресурс для изучения паттернов проектирования

На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как C#, Java, Python, PHP, Rust и ещё куча других.

Всё удобно разложено по категориям — порождающие, структурные, поведенческие.

Примеры суперпонятные, с кодом и пояснениями.

👉 Смотрите сами

👉 @PHPgx | #ресурсы
  • 👍 17
  • 🔥 2
Post #242 1.99K
💡 Совет по Laravel

Перестаньте писать сложные запросы в контроллерах

Используйте специальные классы для запросов, чтобы элегантно обрабатывать агрегированные данные из нескольких моделей.

Преимущества:
✅ Выполнение одной задачи
✅ Ясное выражение намерений
✅ Легкость тестирования сложных запросов в изоляции

👉 @PHPgx | #tips
  • 👍 7
  • 🔥 2
Post #240 2.44K
Только что нашел утечку исходного кода Facebook за 2007 год 😃

Тогда не было Composer, PSR еще не существовал, а внедрение ООП шло медленно... но при этом на PHP строились огромные приложения!

Посмотрите исходный код здесь: https://gist.github.com/nikcub/3833406

👉 @PHPgx
  • 👍 11
Post #238 2.14K
💡 Совет по Laravel

Используйте методы Arr::get() или хелпер data_get для получения значения из глубоко вложенного массива с помощью удобной "точечной" нотации. Метод data_get также поддерживает объекты!

Они также принимают значение по умолчанию, которое будет возвращено, если указанный ключ не существует.

👉 @PHPgx | #tips
  • 👍 14
  • 🔥 2
Post #237 2.73K
Самая недооценённая особенность Laravel?

Фабрики баз данных.

Я бы даже осмелился сказать, что хорошо построенные фабрики — это признак кодовой базы для СТАРШИХ разработчиков, в отличие от кодовой базы для МОЛОДЫХ.

Позвольте объяснить.

Если я вижу кодовую базу, где фабрики отсутствуют или определены плохо, это обычно говорит о большем:

🔹Нет автоматизированных тестов.
🔹Нет тестирования с большими объемами данных.
🔹И отсутствие внимания к реалистичным сценариям, приближённым к продакшн-окружению.

Если у вас есть ПРАВИЛЬНЫЕ фабрики, вероятно, вы гораздо больше заботитесь о тестировании и надежности приложения.

Подождите, а что такое эти СИЛЬНЫЕ фабрики? Это когда разработчик тратит ДОПОЛНИТЕЛЬНОЕ время на продумывание реалистичных форматов данных.

Они показывают, насколько разработчик ЗАБОТИТСЯ:

🔹Заботится достаточно, чтобы симулировать реалистичные данные: fake()->paragraphs() вместо fake()->text().
🔹Заботится достаточно, чтобы настроить вероятности: fake()->boolean(90) вместо статичного true.

Согласны?

✅ #tips by Povilas Korop

👉 @PHPgx
  • 👍 11
  • ❤ 1
Post #235 2.49K
Это расширение для Chrome, которое позволяет встраивать PHP-консоль в панель разработчика DevTools. Оно использует пакет Spatie Laravel Web Tinker и встраивает его в панель инструментов, предоставляя доступ к консоли PHP прямо внутри DevTools.

Установка:
🔹Скачайте и распакуйте проект.
🔹Перейдите по адресу chrome://extensions/ в вашем браузере.
🔹Включите "Режим разработчика" в правом верхнем углу (если он еще не включен).
🔹Нажмите "Загрузить распакованное расширение" и выберите папку php-ext.
🔹В вашем Laravel проекте установите пакет Spatie Laravel Web Tinker командой:
composer require spatie/laravel-web-tinker


Теперь в панели консоли Chrome появится новая вкладка PHP. Кликнув по ней, вы получите доступ к PHP консоли, где сможете выполнять код Laravel или PHP прямо из браузера

👉 https://github.com/tnylea/php-ext

👉 @PHPgx | #ресурсы
  • 👍 8
  • 🔥 4
  • ❤ 2
  • 🌭 1
Post #234 2.73K
Если вы ищете самый простой способ сгенерировать документацию по 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
  • 👍 17
  • ❤ 4
Post #232 2.09K
Наткнулся на интересный проект — php-wasm.

Это библиотека, которая позволяет запускать PHP прямо в браузере с использованием WebAssembly

👉 https://github.com/seanmorris/php-wasm

👉 @PHPgx | #ресурсы
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
Post #231 2.14K
💡 Если у вас есть колонка с возможностью NULL в таблице базы данных, рассмотрите возможность случайной установки значения этой колонки как опционального в вашей фабрике, используя метод optional от Faker.

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

👉 @PHPgx | #tips
  • 👍 4
Post #229 2.17K
Loupe

Полнотекстовая поисковая система с токенизацией, стеммингом, устойчивостью к опечаткам, фильтрами и географической поддержкой, основанная на чистом PHP и SQLite.

👉 @PHPgx | #ресурсы
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
Post #228 2.28K
💡 Совет по Laravel

Используйте метод построителя запросов orWhere() в Eloquent с осторожностью, чтобы избежать некорректной фильтрации данных.

Первый пример вернет любой курс, если в столбце "content" содержится ключевое слово, игнорируя предыдущие условия where!

Второй пример с вложенными условиями исправляет эту проблему.

👉 @PHPgx | #tips
  • 👍 13
  • ❤ 1
  • 👀 1
Post #227 2.74K
💡 whereRelation против whereDoesntHaveRelation в Laravel

Не попадай в ловушку, пытаясь инвертировать whereRelation! Одно условие находит ЛЮБУЮ запись, а другое гарантирует, что НЕТ совпадений.

Уловил разницу? 😧

👉 @PHPgx | #tips
  • 👍 8
  • 🌚 1
Post #225 2.46K
CPX

Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.

👉 @PHPgx | #ресурсы
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
Post #224 2.56K
Пример HTTP-сервера на PHP с использованием файберов

Сервер обрабатывает каждый HTTP-запрос в отдельном файбере, что обеспечивает высокую производительность без привлечения потоков или процессов.

Для развёртывания используется Docker Compose, а код доступен в открытом репозитории

👉 Читать

➡️ @PHPgx | #cтатья
  • 👍 3
Post #222 2.14K
💡 Совет по Laravel

Нужно обновить много моделей на основе сложных условий?

Комбинируйте эти методы Eloquent для ускорения работы в 10–100 раз:

select() → извлекайте только ID
chunkById() → используйте пакетную обработку для разделения больших объемов данных
toQuery() → выполняйте обновление моделей напрямую

👉 @PHPgx | #tips
  • 👍 7
Post #219 3.35K
💡 Если вы используете GitHub Actions для запуска набора тестов вашего PHP-приложения, подумайте о добавлении шага для кэширования директории vendor, используемой Composer.

Это позволяет закэшировать всю директорию vendor при первом запуске и автоматически обновить кэш в случае изменения файла composer.lock, что экономит время сборки.

👉 @PHPgx | #tips
  • 👍 15
  • ❤ 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →