Я создал класс 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()