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
Dzięki temu zostanie "ukryty" przed botami próbującymi wykorzystać znane podatności lub identyfikującymi oprogramowanie.


# 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