2016-08-04 2 views
1

Не мог придумать более описательное название.Laravel 5 - типы маршрутов

Вот дилемма, мне интересно, есть ли у кого-то хороший подход к этому или если я упустил что-то очевидное?

фото эти два маршрута:

/category/product 
/parent/child 

Первый маршрут имеет дело с продуктами в магазин. Второй маршрут касается обычных страниц в CMS.

Как отличить эти два маршрута от приложения? Я не хочу добавлять что-либо перед каждым маршрутом (например,/shop/category/product,/page/parent/child), если это возможно.

Любые идеи?

ответ

1

в файле routes.php поместить этот код

Route::get('/{action?}/{name?}',[ 
     'uses' =>'[email protected]', 
     'as' =>'niceaction' 
    ]); 

затем перейдите в папку контроллера и создать файл NiceActionController затем:

<?php 
namespace App\Http\Controllers; 
use \Illuminate\Http\Request; 
class NiceActionController extends Controller 
{ 
    public function getNiceAction($action,$name=null) 
    { 
     return view('actions.'.$action , ['name' => $name]) ; 
    } 
} 
+0

Вы должны поставить действие внутри URL здесь, который не то, что мне нужно. К категории/категории/категории относятся название фактической категории, а продуктом будет фактическое название продукта. Это имеет смысл? – user3767977

+0

просто вы можете изменить продукт с текстом действия –

0

Вы можете объединить свои маршруты.

Route::group(['prefix' => 'parent'], function() { 
Route::get('child', '[email protected]'); 
Route::get('anotherchild', '[email protected]'); 
}); 

Это дает маршрутизирует /parent/child и /parent/anotherchild.

Есть несколько вариантов, далее в documentation

Смежные вопросы