Routing
eśli z jakichś przyczyn nie masz dostępu do routingu iCore, możesz opublikować odpowiednie pliki poleceniem:
php artisan vendor:publish --tag=icore.routes.web
Konfiguracja routingu dostępna jest z poziomu folderu:
/routes/vendor/icore/
# Zmiana wyglądu routów
Każdy route można dostosować do swoich potrzeb. Zmienić nazwę identyfikatora lub slash na myślnik. Przykład:
// https://adres-strony.pl/posts/nowy-post
Route::match(['get', 'post'], 'posts/{post_cache}', [PostController::class, 'show'])
->name('post.show')
->where('post_cache', '[0-9A-Za-z,_-]+');
można zamienić na:
// https://adres-strony.pl/blog-nowy-post
Route::match(['get', 'post'], 'blog-{post_cache}', [PostController::class, 'show'])
->name('post.show')
->where('post_cache', '[0-9A-Za-z,_-]+');
# Przekierowanie route na własny kontroler
Jeśli chcemy zmienić logikę aplikacji pod aktualnymi routami należy:
- za pomocą Laravel Service Container zbindować nowy kontroler (ewentualnie połączony wzorcem Dekorator lub dziedziczeniem) pod stary namespace. Przykład:
$this->app->bind(\N1ebieski\ICore\Http\Controllers\Web\PostController::class,
\App\Http\Controllers\Web\PostController
::class
); - zmodyfikować wybrany route w odpowiednim pliku w lokalizacji routes/vendor/icore przekierowując go na własny kontroler. Konfiguracja routingu aplikacji nadpisze wówczas konfigurację iDir.
W obu przypadkach zachowujemy cały stack middlewarów, jak również pozostałe ustawienia.
# Dostęp do routów panelu administracyjnego
Routy panelu administracyjnego można opublikować poleceniem:
php artisan vendor:publish --tag=icore.routes.admin
# Dostęp do routów API
Routy API można opublikować poleceniem:
php artisan vendor:publish --tag=icore.routes.api
# Zmiana prefixu grup routów
Prefix ("subfolder" w adresie) każdej grupy routów można zmienić z poziomu pliku .env w głównym folderze z aplikacją:
ICORE_ROUTES_AUTH_PREFIX=
ICORE_ROUTES_WEB_PREFIX=
ICORE_ROUTES_ADMIN_PREFIX=admin
ICORE_ROUTES_API_PREFIX=api
Przykładowo zmieniając prefix dla adresów panelu administracyjnego na losowy ciąg liter i cyfr:
ICORE_ROUTES_ADMIN_PREFIX=fds78fs67dc
adres dostępowy panelu administracyjnego i wszystkich jego podstron zmieni się na:
https://adres-strony.pl/fds78fs67dc
# Wyłączanie grup routów
Poszczególne grupy routów można wyłączyć z poziomu pliku config/icore.php ustawiając zmienną enabled:
'routes' => [
'web' => [
'enabled' => false
],
Po wykonaniu zmian w konfiguracji routingu należy ponownie wykonać cache poleceniem:
php artisan route:cache