我正在使用Symfony 2.3。在Symfony中沒有前面斜槓的路由變量
目前我正在適應我的routing.yml使用我在parameters.yml中定義的變量。我爲每個客戶/項目選擇一個參數,但是有一段時間我需要它是空的。
默認情況下(我猜),SF在變量前需要一個前面的斜槓。
這是我目前的工作的routing.yml:
index:
path: /{_namespace}/
defaults:
_controller: AppBundle:User:index
_namespace: %namespace%
methods: [GET]
welcome:
path: /{_namespace}/welcome
defaults:
_controller: AppBundle:User:welcome
_namespace: %namespace%
methods: [GET]
而且我parameters.yml:
parameters:
# [....]
namespace: 'project1'
這讓我產生這樣的URL:
http://www.domain.com/project1/
http://www.domain.com/project1/welcome
然而,就像我以前說的,我需要有這樣的路線:
對於這一點,我已經試過以下(注意排除前面的斜線):
routing.yml:
index:
path: {_namespace}/
defaults:
_controller: AppBundle:User:index
_namespace: %namespace%
methods: [GET]
welcome:
path: {_namespace}/welcome
defaults:
_controller: AppBundle:User:welcome
_namespace: %namespace%
methods: [GET]
parameters.yml:
parameters:
# [....]
namespace: ''
而發生異常:
[Symfony\Component\Config\Exception\FileLoaderLoadException]
Cannot import resource "/home/cupaofarmacia/src/Ongagement/AppBundle/Resour
ces/config/routing.yml" from "/home/project/app/config/routing.yml".
(Malformed inline YAML string ({_namespace}/) at line 51 (near "path:
{_namespace}/").)
[Symfony\Component\Yaml\Exception\ParseException]
Malformed inline YAML string ({_namespace}/) at line 51 (near "path: {
_namespace}/").
我真正需要的是能夠在路線的起點傳遞一個空的變量。
有什麼建議嗎?
如果您保留斜槓併爲'_namespace'提供默認值,您可以生成您提到的路線。 – user2268997 2014-09-24 11:30:56
但是我的默認需要是空的,這將產生一個像「// welcome」這樣的url。 – 2014-09-24 11:31:50
你的意思是什麼,需要清空?你不能只爲它提供一個佔位符嗎?如果你這樣做,那麼前面的斜槓將被忽略,並且將會是「/ welcome」。 – user2268997 2014-09-24 11:36:28