我在YAML此內容:Symfony2的YAML解析失敗
Foo:
bar: |
Foo bar.
,它工作正常,但:
Foo:
bar: |
40 % Foo bar.
失敗:
ParameterNotFoundException:參數 「 foobar「對不存在的參數」Foo bar「具有依賴關係 。
根據該錯誤,顯然會出現百分號%出現的位置。有沒有辦法對它進行編碼或使其不會失敗?
我在YAML此內容:Symfony2的YAML解析失敗
Foo:
bar: |
Foo bar.
,它工作正常,但:
Foo:
bar: |
40 % Foo bar.
失敗:
ParameterNotFoundException:參數 「 foobar「對不存在的參數」Foo bar「具有依賴關係 。
根據該錯誤,顯然會出現百分號%出現的位置。有沒有辦法對它進行編碼或使其不會失敗?
問題是Symfony依賴注入容器使用%something%語法來引用DIC參數。我認爲你應該以某種方式逃避%;作爲第一次嘗試,我會去爲那些之一:
40 %% Foo bar .
40 "%" Foo bar .
"40 % Foo bar ."
我沒有發現Symfony的100%肯定的答案,那麼去嘗試;)
按http://symfony.com/doc/current/reference/configuration/framework.html
所有格式字符串中的百分號(%)必須加倍才能轉義字符。在不轉義的情況下,值可能會無意中被解釋爲服務參數。
所以總之,當你想要%
yaml值時使用%%
。
最後是做這件事的正確方法。另請注意,如果您使用非symfony解析器解析yaml,則非轉義的%可能會導致錯誤。 – Omn