Giriş

Bölüm 4

Yapılandırılmış ayarlar: noktalama yerine değeri değiştirin

Metin editörü kaynağı, format komutu veri modelini gösterir. İki görünüm de gereklidir.

Neden özel bir araç daha basit olabilir

Büyük bir dosyada yalnızca application.debug değişecekse, mantıksal yolu söylemek doğru bölümü bulup virgül, parantez veya ayraçları korumaktan daha açık olabilir.

Birçok format için ortak ritim

Modüller benzer bir dil paylaşır: aç, anahtarı oku, ara, : ile yaz, sil, -c ile doğrula veya dump ile serileştir. Ardından $ etkin dosyayı gösterebilir.

install md mf code ini json xml yml toml conf properties
md lil-playground/project/config
mf lil-playground/project/config/app.ini
cd lil-playground
ini project/config/app.ini
ini $ -w application.name : "lil playground"
ini $ application.name
ini $ -c

INI: bölümler ve basit değerler

INI anahtar/değer çiftlerini bölümlerde toplar. Noktalı yollar, tüm dosyada gezinmeden mantıksal değere doğrudan ulaşır.

ini project/config/app.ini
ini $ -w application.debug : true
ini $ application.debug
ini $ -f "application*" -k

JSON: nesneler, diziler ve türler

Bu alıştırmada project/config/app.json dosyasını code -n ile açın, aşağıdaki {} başlangıcını yapıştırıp kaydedin; ardından json komutlarını çalıştırın. Yapısal düzenleyici geçerli bir JSON dosyasıyla başlamalıdır.

JSON API, üstveri ve uygulama ayarlarında yaygındır. Yol tabanlı değişiklikler yanlış virgül veya parantez riskini azaltır; -c sonucu açıkça doğrular.

Dosyayı bununla başlatın
{}
code project/config/app.json -n
json project/config/app.json
json $ -w limits.history : 100
json $ limits.history
json $ -c

YAML, TOML, XML, conf ve properties

YAML girintiye, TOML tablo ve türlere, XML öğe ve özniteliklere, conf/properties ise anahtar/değer ailelerine dayanır. lil günlük işlemleri yaklaştırır ama formatların aynı olduğunu iddia etmez.

INIbölüm + anahtar/değerKompakt ayarlar
JSONnesne + diziAPI ve üstveri
YAMLgirinti + eşlemDağıtım yapılandırması
TOMLtablo + türAraç ve uygulamalar
XMLöğe + öznitelikYapılandırılmış belgeler
conf / propertiesanahtar/değer ailesiSunucu ve uygulamalar

Doğrulayın; kaynak gerektiğinde `dump` kullanın

-c belgeyi doğrular; dump serileştirilmiş kaynak görünümünü verir. Yapılandırılmış yazma biçim veya yorumları normalize edebilir. Metnin tam biçimi önemliyse edit ya da code kullanın.

json $ -c
json dump $
ini dump project/config/app.ini

Ne zaman `code`'a dönmeli

Format modülleri hedefli değer, arama ve doğrulama için uygundur. Yorumlar, kesin biçim veya ileri format özellikleri önemliyse code daha doğrudur.

code project/config/app.ini -ini
code project/config/app.json -json

Yapılandırma değişiklikleri betik için çok uygundur

Doğrulanmış ayar dizisi çalıştırılabilir belge olarak saklanabilir. Sonraki projede okuyun, değerleri uyarlayın ve aynı ortamı yeniden üretin.

Bunu betik olarak saklayın

configure-app.lil olarak saklayın. İki hedefli INI değişikliği yapar ve belgeyi doğrular; korumalı bir süreç tasarlamadıkça sırları taşınabilir betiklere koymayın.

#lil
@install md mf ini json
md lil-playground/project/config
mf lil-playground/project/config/app.ini
cd lil-playground
ini project/config/app.ini
ini $ -w application.debug : true
ini $ -w application.name : "lil playground"
ini $ -c