Nút cấu hình của tôi có thể source
hỗ trợ cả hai giá trị string
và array
?Làm cho nút cấu hình hỗ trợ cả chuỗi và mảng trong cấu hình Symfony 2?
Sourcing từ string
:
# Valid configuration 1
my_bundle:
source: %kernel.root_dir%/../Resources/config/source.json
Sourcing từ array
:
# Valid configuration 2
my_bundle:
source:
operations: []
commands: []
Lớp mở rộng sẽ có thể phân biệt giữa chúng:
if (is_array($config['source']) {
// Bootstrap from array
} else {
// Bootstrap from file
}
tôi có thể sử dụng một cái gì đó như thế này :
$rootNode->children()
->variableNode('source')
->validate()
->ifTrue(function ($v) { return !is_string($v) && !is_array($v); })
->thenInvalid('Configuration value must be either string or array.')
->end()
->end()
->end();
Nhưng làm thế nào tôi ca thêm những hạn chế về cấu trúc của source
(hoạt động, lệnh, vv ...) đến nút biến (mà chỉ nên được áp dụng khi giá trị của nó là loại array
)?
Không tệ. Tôi nên xử lý các trường hợp khi 'đường dẫn' và' hoạt động' và 'lệnh' được giải quyết. +1 cho tôi – gremo