Маршруты Laravel не работают с подпапкой - PullRequest
0 голосов
/ 05 июля 2018

Использование Laravel 5 перенесено с 4.2, теперь laravel 5 установлен в подпапке «abc». Нужно ли мне писать abc / warehouse для каждого маршрута? ранее это было / склад. я хочу использовать все существующие маршруты, такие как / warehouse внутри подкаталога abc.

Я нахожусь на локальном хосте xampp с портом 81. http://localhost:81/warehouse

любой здесь с быстрым решением

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

что вы можете сделать, это добавить строку в RouteServiceProvider в mapWebRoutes функции, подобной этой

public function mapWebRoutes()
{
    //default 
    Route::middleware('web')
             ->namespace($this->namespace)
             ->group(base_path('routes/web.php'));

    //subfolder
    Route::middleware('web')
             ->prefix('abc')
             ->namespace($this->namespace)
             ->group(base_path('routes/abc.php'));
}

затем создайте файл внутри routes/abc.php и скопируйте и вставьте в него все свои маршруты

Префикс маршрута https://laravel.com/docs/5.6/routing#route-group-prefixes

Для Laravel 5.0 вы должны обернуть внутрь Route::group

Route::group(['prefix' => 'abc', 'namespace' => 'Auth'], function(){
     //define all your routes here     
     Route::post('login', 'AuthController@login');

});

Пространство имен: Здесь у меня есть определение Auth в пространстве имен, что означает, что все мои контроллеры, такие как AuthController, должны находиться в папках app/Http/Controllers/Auth.

Laravel по маршруту 5,0 https://laravel.com/docs/5.0/routing#route-group-prefixes

Для структуры пространства имен laravel 5.0 отметьте это https://laravel.com/docs/5.0/structure

0 голосов
/ 05 июля 2018

Вы используете prefix при определении маршрутов:

Route::prefix('abc')->group(...)

Префиксы маршрутов

Route::prefix('abc')->group(function () {
    Route::get('warehouse', function () { 
        // Matches The "/abc/warehouse" URL
     }); 
});

В идеале вы должны сделать это в RouteServiceProvider

Route::middleware('web')
   ->prefix('abc')
   ->namespace($this->namespace)
   ->group(base_path('routes/web.php'));

Таким образом, все в файле маршрутов имеет префикс, и вам не требуется дополнительная групповая перенос.

Вот пример из 5.0 документов:

Route::group(['prefix' => 'admin'], function() {
    Route::get('users', function() { 
        // Matches The "/admin/users" URL
     });
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...