@PRodion

Как спроектировать маршрут?

Необходимо добиться следующего результата:
/yarn/
/yarn/alize/
/yarn/alize/lana-gold

/yarn/
/yarn/{manufacturer}/
/yarn/{manufacturer}/{collection}

Сделал так:
Controller
class YarnController extends Controller
{
    public function index()
    {
        return 'index()';
    }

    public function show($manufacturer, $collection = null)
    {
        if ($collection) {
            $test = $manufacturer .', '. $collection;
        } else {
            $test = $manufacturer;
        }

        return $test;
    }
}

Route
Route::group(['prefix' => 'yarn'], function() {
    Route::get('/', [YarnController::class, 'index']);
    Route::get('/{manufacturer}/{collection?}', [YarnController::class, 'show']);
});

Боюсь, что в будущем обязательно столкнуть с какими-либо подводными камнями. Несколько раз начинал делать и через N дней приходилось все переделывать из-за неправильного старта. Надеюсь, старшие коллеги помогут.

Если в будущем я захочу вывести пряжу не только по производителям, но еще и по странам, то определенно столкнусь с трудностями.
// /yarn/{country}
Я посмотрел разные работающие сайты и каким то способом у них данная логика реализована, но как именно я не понимаю.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы