Genel olarak konuşursak .ini
XML yapılandırma dosyaları tercih ederim . Daha büyük sistemlerde, genellikle geliştiriciden başka birinin bir yapılandırma değerini, muhtemelen bir DBA veya bir sistem yöneticisi değiştirmesi gerekir. Bildiğim çoğu DBA ve sistem yöneticileri basit bir PHP betiği ile gezinirken herhangi bir sorun yaşamazlardı, ama yapmazlarsa tercih ederim. Buradaki küçük bir hata, tüm uygulamaya oldukça az yolla zarar verebilir.
Ancak daha küçük sistemlerde, yapılandırma için PHP komut dosyaları kullanmak son derece uygundur. Bugün yapılandırma için bir PHP komut dosyası kullanan AWS SDK ile oynuyordum :
CFCredentials::set(array(
'development' => array(
'key' => 'xxx',
'secret' => 'xxxx',
'default_cache_config' => sys_get_temp_dir(),
'certificate_authority' => true
),
'@default' => 'development'
));
Sabit kodlama yerine default_cache_config
, sistem sıcaklığını geçiyorum ve bu komut dosyasını dağıttığım her sistemde işe yarayacaktır. Bu senaryo, yaklaşık 10 geliştiriciden geçecek küçük bir kavram kanıtıdır ve düşünülecek çok şey olsa da, onları olduğu gibi çalıştırmasını istiyorum. Prototip gelişirse, XML yapılandırma sınıfımla sıkı sıkıya bağlayacağım (ve açıkçası dosya sistemi önbelleğine güvenmeyeceğim).
relate to one well-defined, portable syntax for configuration
Anlamıyorum. ini dosyaları da iyi tanımlanmış ve taşınabilir bir sözdizimine sahiptir. Her.conf.php
dosyanın kendi yapısı vardır, çoğu dizi tabanlıdır, ancak bu bir ini dosyasından çok farklı değildir.