Использование пробелов в именах маршрутов в Symfony

Допустимо ли следующее имя маршрута в Symfony?

#[Route('/{profileId}/bundles/{bundleId}', name: 'data export bundle details')]

Во всех примерах, которые я видел, в названии слова разделяются подчеркиванием (в данном примере это будет data_export_bundle_details).

Глядя на документацию, там ничего не говорится о разрешенных символах, там просто говорится, что имена маршрутов должны быть уникальными, поэтому я предполагаю, что приведенное выше имя подойдет, но может ли кто-нибудь подтвердить?

Использование змеиного регистра для вашего имени — рекомендуемая практика Symfony, поэтому я бы сохранил data_export_bundle_details (И если вы спросите, возможно ли это, да, это так. Вы можете легко проверить, попробовав).

Dylan KAS 29.04.2024 15:49

Единственная цель — идентифицировать маршрут где-то еще, и это внутренний идентификатор, который не нужно экспортировать или сериализовать, поэтому я предполагаю, что он используется для простого сопоставления, и вы, возможно, сможете использовать даже смайлики (просто предполагаю, я никогда не пытался). Преимущество подчеркивания состоит в том, что оно явно подразумевает, что это не просто отображаемая метка для людей, и его редактирование может иметь последствия.

Álvaro González 29.04.2024 16:09
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
2
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, это будет правильный маршрут.

И это тривиально проверяется путем создания такого маршрута и проверки его работы.

#[Route('/test', name: 'this is test')]
class TestingController extends AbstractController
{
    public function __invoke(): Response
    {
        return new Response('this is a test');
    }
}
$ bin/console debug:router
 ---------------- -------- -------- ------ --------------------------
  Name             Method   Scheme   Host   Path
 ---------------- -------- -------- ------ --------------------------
  _preview_error   ANY      ANY      ANY    /_error/{code}.{_format}
  this is test     ANY      ANY      ANY    /test
 ---------------- -------- -------- ------ --------------------------
http 127.0.0.1:8989/test
HTTP/1.1 200 OK
Cache-Control: no-cache, private
Connection: close
Content-Type: text/html; charset=UTF-8
Date: Mon, 29 Apr 2024 14:45:49 GMT
Host: 127.0.0.1:8989
X-Powered-By: PHP/8.3.6
X-Robots-Tag: noindex

this is a test

Имя маршрута — это произвольная, уникальная для приложения строка. Вот и все. Вероятно, лучше вообще не называть маршруты явно и использовать имена маршрутов, сгенерированные системой, с использованием полных имен классов, чтобы вы могли воспользоваться преимуществами автозаполнения.

Но в ваших силах поступить по-другому.

Я думаю, что для правильной проверки работы имени вам нужно реально его использовать, например, создав ссылку.

Álvaro González 30.04.2024 19:08

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