Как я могу использовать slug и id в маршрутизации и показывать ссылку на сообщение с slug только в symfony

Я хочу что-то вроде этого

routing.yml

/ bolg / {slug} / {id}

URL публикации

/ блог / slug-of-post

пожалуйста, опишите подробнее. и особенно то, что вы пробовали до сих пор

Denis Alimov 28.03.2018 04:48

@ Денис, я думаю, что вышеприведенной информации достаточно. URL-адрес сообщения будет / blog / slug / id. Но я хочу знать, можно ли удалить идентификатор из URL-адреса сообщения, используя параметры {id} и {slug} в routing.yml. Я ищу документацию по symfony, но ничего не сказано о том, что я хочу

Sam 28.03.2018 06:45

Разве слизняк тоже не уникален? Тогда вам просто понадобится /blog/{slug}

Gregoire Ducharme 28.03.2018 08:57

не используйте yml - symphony откажется от использования yml.

John Tribe 28.03.2018 09:47

@Sam Я понимаю, чего вы пытаетесь достичь, но короткий ответ заключается в том, что вы не можете этого сделать. В чем причина того, что вы не хотите использовать только слизняк? как предложил @Gregoire? Если это связано с тем, что слаги не всегда уникальны, думали ли вы о добавлении ID к неуникальным слагам?

Razvan B. 28.03.2018 10:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
5
81
1

Ответы 1

Если slug также уникален, вы можете просто

routing.yml

/blog/{slug}

И тогда URL-адрес будет

/blog/slug-of-post

В вашем контроллере вам просто нужно сделать

$blogRepository->findBySlud($slug);

Если slug не является уникальным, вы должны просто указать свой id в качестве параметра (но по определению slug должен быть уникальным)

@Gregiure, Спасибо за ваш комментарий, я просто хотел знать, возможно это или нет, я не могу использовать slug только потому, что я уже встроил систему с использованием формата url, такого как / blog / id, и я хочу id и slug как в маршрутизации с URL-адресом, показывающим только слаг. Возможно, мне придется изменить сервер nginx, чтобы ограничить идентификатор в URL-адресе

Sam 28.03.2018 12:35

Другие вопросы по теме