INI Yapılandırma Ayrıştırıcı

INI dosyaları, bölümler ve anahtar-değer çiftleri içeren basit bir yapılandırma formatıdır; tarihsel olarak Windows tarafından kullanılır ve hala birçok uygulamada (php.ini, my.cnf, setup.cfg) yaygındır. Bu araç INI sözdizimini ayrıştırır, bölümleri ve özellikleri görüntüler ve JSON'a dönüştürebilir.

Spesifikasyonlar

Yaygin Kullanim Alanlari

  • php.ini veya MySQL my.cnf yapılandırmasını inceleme
  • Python setup.cfg veya tox.ini dosyalarını ayrıştırma
  • Git yapılandırma dosyalarını gözden geçirme (.gitconfig)
  • Windows uygulama ayarlarını hata ayıklama
  • Eski INI yapılandırmalarını JSON veya YAML'a dönüştürme

Ozellikler

  • [bölüm] başlıklarını ve anahtar=değer çiftlerini ayrıştırma
  • Yorumları işleme (; ve # önekleri)
  • Kaçış dizileri ile tırnaklı değerleri destekleme
  • Genel özellikleri görüntüleme (herhangi bir bölümden önce)
  • Programatik kullanım için JSON'a dönüştürme
  • Düzgünleştirilmiş görünüm modu
  • Bölüm bazında yorum görüntüleme
  • Hatalı girişler için ayrıştırma uyarıları

Ornekler

Veritabanı Yapılandırması

Deneyin →

Tipik bir veritabanı yapılandırma dosyası.

[database]
host=localhost
port=3306
name=myapp_db
user=admin

[cache]
enabled=true
ttl=3600
driver=redis

PHP Yapılandırması

Deneyin →

php.ini'den bir parçacık.

; PHP Configuration
[PHP]
memory_limit = 256M
max_execution_time = 30
upload_max_filesize = 64M

[Date]
date.timezone = "America/New_York"

Ipuclari

  • Bölüm adları çoğu uygulamada büyük/küçük harfe duyarsızdır.
  • Özel karakterler içeren değerler için tırnak işaretleri kullanın.
  • Yorumlar geleneksel olarak ; kullanır ancak bazı ayrıştırıcılar # da kabul eder.
  • Aynı bölümdeki yinelenen anahtarlar, ayrıştırıcıya bağlı olarak üzerine yazabilir veya dizi oluşturabilir.

Anlama INI Yapılandırma Ayrıştırıcı

INI dosyaları, bölümler (köşeli parantez içinde) ve anahtar-değer çiftleri kullanan basit bir yapılandırma formatıdır. Resmi bir spesifikasyonu olmamasına rağmen, format MS-DOS ve Windows'un ilk günlerinden beri yaygın olarak kullanılmaktadır. PHP php.ini kullanır, Git .gitconfig (INI tarzı) kullanır, Windows uygulamaları .ini dosyaları kullanır ve birçok eski sistem bu formata dayanır.

Temel yapı, [bölüm] başlıkları altında anahtar=değer çiftlerini gruplandırır. Değerler genellikle dizelerdir, ancak bazı ayrıştırıcılar sayıları ve boolean'ları yorumlar. Yorumlar noktalı virgül (;) veya diyez (#) kullanır. Çok satırlı değerler, iç içe bölümler ve kaçış dizileri, yetkili bir standart olmadığından uygulamalar arasında farklılık gösterir.

INI dosyaları, düz anahtar-değer formatları (ör. .env dosyaları) ile yapılandırılmış formatlar (ör. TOML ve YAML) arasındaki boşluğu doldurur. İç içe veri yapılarının karmaşıklığı olmadan bölüm düzeyinde organizasyon sağlarlar. Mantıksal gruplandırmalarla basit uygulama yapılandırması için INI pratik bir seçim olmaya devam eder.

Standardizasyon eksikliği INI'nin ana zayıflığıdır. Farklı ayrıştırıcılar yorum karakterleri, anahtarların büyük/küçük harfe duyarlı olup olmadığı, yinelenen anahtarların ve bölümlerin nasıl işleneceği ve değerlerin birden fazla satıra yayılıp yayılamayacağı konusunda fikir ayrılığı yaşar. Yeni bir projeye başlarken, TOML genellikle resmi bir spesifikasyon ve daha zengin veri türleriyle aynı bölüm tabanlı organizasyonu sağladığından daha iyi bir seçimdir.

TOML, resmi bir spesifikasyonla INI'nin modern bir yerine geçmesi olarak tasarlanmıştır. INI'de tamamen eksik olan yerel veri türleri (tam sayılar, kayan noktalı sayılar, boolean'lar, tarihler, diziler), iç içe tablolar, tablo dizileri ve çok satırlı dizeler ekler. Yeni projeler için TOML daha iyi seçimdir; INI esas olarak mevcut yapılandırma dosyalarıyla eski uyumluluk için önemlidir.

Anahtar büyük/küçük harf duyarlılığı uygulamaya göre değişir. Windows INI fonksiyonları büyük/küçük harfe duyarsızdır, Python'un configparser'ı varsayılan olarak anahtarlar için büyük/küçük harfe duyarsızdır, PHP'nin parse_ini_file'ı anahtarlar için büyük/küçük harfe duyarlı ancak bölümler için duyarsızdır ve Git config hem bölüm hem de anahtar adları için büyük/küçük harfe duyarsızdır. Her zaman belirli ayrıştırıcınızın belgelerine bakın. Değerlerdeki özel karakterlerin işlenmesi de benzer şekilde tutarsızdır — bazı ayrıştırıcılar değerleri çift tırnak ile tırnaklama, bazıları kaçış dizileri desteği ve bazıları eşittir işaretinden sonraki her şeyi düz değer olarak değerlendirme yaklaşımını benimser. Özel karakterler gerektiğinde, belirli ayrıştırıcınızla davranışı doğrulayın veya TOML'a geçmeyi değerlendirin.

← Tum araclara don