我想減少重複代碼的數量,並在我的Drupal 8應用程序中提供規範URL。由於路由系統是基於Symfony構建的,因此我將它包含在標題中。是否可以僅使用參數構造Symfony路徑?
我在我的mymodule.routing.yml文件中構建路徑下的路徑。我想在第一個參數中匹配指定數量的不同字符串,並且可以在第二個參數中使用任何字符串。它看起來像這樣:
entity.my_entity.canonical:
path: '/{type}/{slug}'
defaults:
_controller: '\namespace\PostController::show'
requirements:
_permission: 'perm'
type: different|strings|that|can|match|
現在,當我嘗試使用例如/match/some-slug
訪問那麼它只是說「找不到網頁」。 如果我對路徑是靜態的,例如path: '/j/{type}/{slug}'
,那麼當我在瀏覽器中打開/j/match/some-slug
時,它會按預期工作。
我的老闆不喜歡URL中的任何不必要的字符,所以我想通過使用兩個參數來實現這一點,如第一個示例中所示。
確保沒有可能有與之相沖突的,因爲它可能完全另一條路徑。 – yceruto
我怎麼知道?如果另一條路徑也有兩個參數,或者只有參數具有相同的名稱,纔會將其視爲衝突嗎? – littlethoughts
使用'php bin/console debug:router'來調試您定義的路線,並且檢查訂單 – yceruto