TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #4499 2.79K
Было бы полезно, если бы вы могли определить определенное действие, которое должно выполняться каждый раз, когда ваши шаблоны Blade встречают объекты определенного класса?

Например, при работе с библиотеками, такими как Carbon, часто бывает так, что вы хотите отформатировать их определенным образом во всем своем приложении.

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

Этот PR для Laravel 8.x пытается решить эту же проблему. Как оказалось, этот PR вводит новый метод Blade::stringable(), который можно разместить в методе boot провайдера служб и позволяет пользователю добавлять перехватывающие замыкания для любого класса. Возвращаемое значение будет выведено в Blade.

Итак, если мы хотим, чтобы каждый объект Carbon, найденный в шаблонах Blade, был отформатирован определенным образом, мы можем определить его в методе boot App\Providers\AppServiceProvider. Как только это сделано, вам не нужно форматировать даты, основанные на Carbon, в своем приложении вручную. Указанный формат в Blade::stringable будет применяться к каждой доступной дате Carbon в вашем приложении.

Довольно удобно, не так ли?

Вы можете применять это к любому классу/библиотеке, где вы хотите иметь некоторое единство во всем своем приложении.
  • 👍 7
  • ❤ 1
More from @phpproglib
  1. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  2. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  3. Sep 30, 2026🐸 Библиотека пхпшника
  4. Sep 29, 2026💡 Laravel-фича, которая спасает тесты от случайных запросов Http::preventStrayRequests()…
  5. Sep 28, 2026🔐 ramsey/uuid — UUID без самописного кода Библиотека помогает генерировать, парсить и вал…
  6. Sep 28, 2026🤔 Что выведет код? ❤️ — 1 🔥 — 2 👍 — 12 👾 — Fatal error 👇 Правильный ответ (нажми, что…
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 →