Все самое полезное для пхпшника в одном канале.
По рекламе: @tproger_sales_bot
Учиться у нас: clc.to/M561SQ
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
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 в вашем приложении.
Довольно удобно, не так ли?
Вы можете применять это к любому классу/библиотеке, где вы хотите иметь некоторое единство во всем своем приложении.
Например, при работе с библиотеками, такими как 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







