mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
50 lines
1.1 KiB
PHP
50 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Models\Episode;
|
|
use App\Observers\EpisodeObserver;
|
|
use App\Support\Carbon;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Support\Facades\Date;
|
|
use Illuminate\Support\ServiceProvider;
|
|
use Illuminate\Support\Str;
|
|
use Illuminate\Support\Stringable;
|
|
|
|
class AppServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* Register any application services.
|
|
* @return void
|
|
*/
|
|
public function register()
|
|
{
|
|
Date::use(
|
|
Carbon::class
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Bootstrap any application services.
|
|
* @return void
|
|
*/
|
|
public function boot()
|
|
{
|
|
Model::preventLazyLoading(app()->environment('local'));
|
|
|
|
Stringable::macro('initials', function () {
|
|
$words = preg_split("/\s+/", $this);
|
|
$initials = "";
|
|
|
|
foreach ($words as $w) {
|
|
$initials .= $w[0];
|
|
}
|
|
|
|
return new static($initials);
|
|
});
|
|
Str::macro('initials', function (string $string) {
|
|
return (string) (new Stringable($string))->initials();
|
|
});
|
|
}
|
|
}
|