我在symfony的parameters.yml文件中有一個數字參數,並且在我的包中有一個配置類,我驗證該參數是一個整數,但我得到以下錯誤驗證過程:在Symfony中的parameters.yml中定義整數參數
[Symfony\Component\Config\Definition\Exception\InvalidTypeException]
Invalid type for path "page_size". Expected int, but got string.
有沒有辦法在parameters.yml文件中指定參數類型?
EDIT
parameters.yml:
parameters:
...
list_page_size: 15
...
config.yml:
...
example:
page_size: %list_page_size%
...
的configuration.php:
class Configuration implements ConfigurationInterface
{
/**
* {@inheritDoc}
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('example');
$rootNode->children()
// Some code here
->integerNode('page_size')
->defaultValue(15)
->end()
// More code here
->end();
return $treeBuilder;
}
}
編輯2
我們已經發現,該異常在束擴展文件(DependencyInjection/ExampleExtension.php)的prepend()
方法引發,但該錯誤是不是在同一個文件的load
方法拋出。看起來像是在prepend方法執行時沒有加載parameters.yml文件。
你可以發佈你的配置類和你的parameters.yml文件嗎? – 2014-09-24 12:57:52
如果我寫'page_size:1 5'直接在config.yml文件中運行。 – beni0888 2014-09-24 15:30:31