Я создал CarbonServiceProvider
класс с использованием php artisan make:provider CarbonServiceProvider
и добавил его в providers
массив в моем app.php
файл.
в boot()
Метод, который я добавил этот макрос:
public function boot()
{
if(!Carbon::hasMacro('nextWorkingDaySameTime')){
Carbon::macro('nextWorkingDaySameTime', function ($startHour = 8, $endHour = 17) {
[...]
return $this;
});
}
}
Я обратил внимание на использование Illuminate\Support\Carbon;
вместо Carbon\Carbon
с тех пор он говорит, что macro()
будет неопределенным.
Всякий раз, когда я называю этот макрос следующим образом:
\Carbon\Carbon::nextWorkingDaySameTime();
это терпит неудачу со следующим сообщением:
Call to undefined method Carbon\Carbon::nextWorkingDaySameTime()
Задача ещё не решена.
Других решений пока нет …