TGViewer
Channel Public Channel
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

@phpproglib

Все самое полезное для пхпшника в одном канале.

По рекламе: @tproger_sales_bot

Учиться у нас: clc.to/M561SQ

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Subscribers
10.5K
Photos
1.8K
Videos
31
Links
4.6K

Showing posts older than #5288 · Back to latest

Older Posts 16 shown
Post #5287 2.83K
🔀 Асинхронный бег или драматическое ускорение с RoadRunner

Очень много в последнее время слышно замечаний в адрес PHP — мол, медленный, тяжелый, неповоротливый, все давно микросервисы на Go/Java/(нужное подставить) пишут. В этой статье расписаны плюсы, минусы и результаты попытки ускорить проект на PHP с использованием RoadRunner.

🔗Хабр
  • 😁 9
  • 👍 4
Post #5286 2.5K
💡 Топ-6 стратегий для снижения задержек в системах

В высоконагруженных приложениях каждое миллисекундное улучшение имеет значение. Вот ключевые подходы, которые помогут сократить задержки и улучшить пользовательский опыт.

🔸 Caching
🔸 CDN
🔸 Load Balancers
🔸 Asynchronous Task Processing
🔸 Database Indexing
🔸 Pre-caching

#инфографика
  • 👍 8
Post #5285 2.41K
Автор статьи делится размышлениями о том, как упростить работу с контроллерами в Laravel, избегая дублирования кода при обработке CRUD-операций. В стандартном подходе для выполнения действий с базой данных он использует try-catch внутри контроллера, чтобы обрабатывать возможные ошибки и показывать пользователю сообщения об успешном или неудачном результате. Однако частое повторение этого кода натолкнуло его на мысль вынести обработку ошибок и транзакций в само действие (Action), а не в контроллер.

Для этого он решил использовать PHP-атрибуты, появившиеся в версии 8.0. Он создал атрибут #[Transactionable], который можно добавлять к методам, требующим обёртки в транзакцию. Затем с помощью Reflection API проверяется, есть ли у метода этот атрибут, и если да, то метод выполняется внутри транзакции. Это позволяет контроллеру просто вызывать execute(), не заботясь о try-catch и логировании ошибок.

Однако в процессе реализации автор столкнулся с проблемами: код начал усложняться, скрывая важные детали обработки ошибок и усложняя отладку. В итоге он пришёл к выводу, что в данном случае лучше следовать принципу «явное лучше, чем неявное», и оставил первоначальный вариант с try-catch в контроллере.

👉Читать статью
  • 😁 17
  • 👍 3
  • 🤔 1
Post #5284 2.54K
💬 Как использовать array_merge() и array_combine() в PHP?

array_combine(): Она используется для создания нового массива, используя значения одного массива в качестве ключей и значения другого массива в качестве значений. Самое главное при использовании array_combine(), что количество значений в обоих массивах должно быть одинаковым.

array_merge(): Объединяет один или несколько массивов таким образом, что значение одного массива добавляется в конец первого массива, и если массивы имеют одинаковые строки-ключи, то последующее значение отменяет предыдущее значение для этого ключа.

#вопросы_с_собеседований
  • 🔥 7
  • 👍 4
  • 🌚 2
Post #5283 2.73K
#memes
  • 😁 34
  • 😢 7
  • ❤ 1
  • 🌚 1
Post #5282 3.2K
🤖 DeepSeek PHP API-клиент

API-клиент, поддерживаемый сообществом, который позволяет взаимодействовать с API deepseek.

Добавляем через Composer:
composer require deepseek-php/deepseek-php-client


🔗Github

#инструменты
  • 👍 24
  • ❤ 2
  • 🔥 2
  • 🥰 1
Post #5281 2.53K
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Post #5280 2.64K
Вы можете использовать #️⃣ эмодзи вместо символа # в комментариях и атрибутах в PHP!

#совет
  • 👏 7
  • 🌚 4
  • 🔥 1
Post #5279 2.6K
glob() со скрытыми файлами

По умолчанию функция glob() перечисляет только файлы, которые не начинаются с точки .. Это означает, что скрытые файлы в Linux не перечисляются.

С помощью опции GLOB_BRACE` можно перечислить все файлы и даже отфильтровать постоянно присутствующие '.' и '..'

#совет
  • 👾 3
  • 👍 1
  • 🤔 1
  • 😢 1
  • 🌚 1
Post #5278 2.61K
Форматирование валют с помощью расширенного Number Helper в Laravel

Number helper теперь поддерживает настраиваемые валюты по умолчанию, что упрощает форматирование цен в разных регионах и различных сценариях использования.

🔗Сайт Laravel
  • 👍 4
  • 😁 3
Post #5277 2.69K
В чем разница между Eloquent и Query Builder в Ларавеле?

В Laravel Eloquent — это инструмент для объектно-реляционного отображения (ORM), который предоставляет простой и удобный способ взаимодействия с базой данных с использованием PHP-кода. Eloquent позволяет определять ваши таблицы базы данных как классы, а строки таблицы как объекты. С другой стороны, Query Builder предоставляет более низкоуровневый способ создания SQL-запросов с использованием цепочки методов.

Основное различие между Eloquent и Query Builder заключается в том, что Eloquent предоставляет более высокоуровневый, более выразительный API для взаимодействия с вашей базой данных, в то время как Query Builder предоставляет более низкоуровневый, более гибкий API.

#вопросы_с_собеседования
  • 🥱 13
  • 👍 8
  • ❤ 1
  • 🔥 1
Post #5276 2.87K
#memes
  • 😁 44
  • 💯 9
  • 🔥 4
  • ❤ 1
  • 🤔 1
Post #5275 2.89K
Карточка состояния базы данных для Laravel Pulse

Разработчик Джейми Схоутен создал изящную карту Laravel Pulse для мониторинга состояния вашей базы данных, предоставляя ключевые показатели, такие как активные потоки, соединения и многое другое

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

👉Гитхаб
  • 👍 2
  • ❤ 1
Post #5274 2.73K
💼Как организовать структуру приложения

Структура кода — это не просто способ организации файлов и папок в проекте, это фундаментальный аспект разработки, который влияет на её эффективность, качество, и долгосрочную поддержку. Красиво организованный код облегчает понимание, упрощает внедрение новых функций и снижает вероятность ошибок. Независимо от масштаба проекта, будь то небольшое приложение или сложная система, структурированный подход к организации кода способствует снижению рисков, связанных с техническим долгом, и повышает продуктивность команды разработчиков. Однако не все разработчики осознают, насколько велика разница между проектами с хорошо продуманной структурой и хаотично организованной.

В этой статье разбирается, что значит «понятная структура кода», и почему её наличие столь важно для успешной разработки.

👉Хабр
  • 👍 4
  • 😁 2
Post #5273 2.74K
🧩Экономичные контейнерные Smoke-тесты, которые должен иметь каждый проект Symfony

Smoke-тесты — это простые проверки, которые не требуют подключения к базе данных, внешним сервисам, или использования моков. Они работают с контейнером зависимостей Symfony, пишутся быстро и будут полезны на протяжении всего жизненного цикла проекта.

Автор статьи рассказывает о важности контейнерных smoke-тестов в проектах Symfony на личным опытом: как такие тесты помогли обнаружить сложные баги, которые не выявили юнит-, интеграционные и E2E-тесты. Эти баги связаны не только с бизнес-логикой, но и с взаимодействием с фреймворком, что делает их особенно трудными для обнаружения.

👉Читать статью
  • ❤ 5
  • 😁 5
  • 👍 2
Post #5267 2.78K

Forwarded from Библиотека программиста

😂 Dev Memes: утренние дилеммы, правки и зарплаты

Третья неделя года позади, а мы всё ещё смеёмся над мемами. Ловите подборку лучших шуток из нашего канала «Библиотека IT-мемов».

🔗 Подборка самых топовых мемов
  • 😁 8
  • ❤ 1
  • 👍 1
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 →