"Iki yol" oluşturma

0 Cevap php

Ben olmayan meraklılarının, non-programcılar hedefleyen bir PHP uygulama yazıyorum. Ben bir yerde ... "seçenekler" bir grup ile bir seçenek sayfa oluşturabilir ve sonra bu seçenekleri saklamak gerekir. Kullanıcının yapması gereken daha o (o istemezse eğer kullanıcı yapılandırması her türlü yapmak istemiyorum) daha fazla yapılandırma gerektirir, çünkü bir veritabanı uygulaması (MySQL / PostgreSQL / SQLite) kullanarak söz konusu değildir . Geriye tek çözüm bir yapılandırma dosyasına yapılandırma yazmak için. Öte yandan, ben de kullanıcı bir geek olduğunu ve o doğrudan (ya da SSH ya da bir nedenle her türlü aracılığıyla uzaktan dosyasını düzenlemek istiyorsa config dosyasını düzenlemek istediği durumda bu yapılandırma dosyası insan okunabilir olmak istiyorum. ..)

Burada bulunan potansiyel çözümlerin çift vardır:

Using a JSON file...

... Resmi olsun, vb HTML içine veri çıkışı bu dönüştürmek herhangi bir değişiklik almak, json_encode kullanarak geri kodlamak için json_decode kullanarak, dosyadan veri almak. Ben bu yöntemi, PHP kullanarak kodlanmış JSON veri yok iyi biçimlendirilmiş olması ve önceden biçimlendirilmiş olmadan düzenlemek çok zor olacağı olmanın ana biri hakkında sevmiyorum bir kaç şey var.

Using an XML file

Ben ya ... gerçekten sevmiyorum ve ben en azından, oldukça ağır bir çözüm çünkü XSLT kullanmak ve gerçekten öğrenmek istemiyorum ... ve nasıl bilmiyorum çünkü ben bu çözümü tarif olmaz JSON çözeltiye kıyasla. Yanılıyorsam beni düzeltin.

Using an INI file

Ben INI dosyaları seviyorum, gerçekten ben onları seviyorum! Onlar gerçekten en okunabilir olduğunu düşünüyorum ve bu karışıklık yukarıya zor (örn: sözdizimi hataları). Bu çözüm ile sorun bir ini dosyasını düzenlemek / yazmak için hiçbir yerli bir yolu olmasıdır. Ben bir tane yazmak için özel bir yöntem gösteren bir konu ... ben bir şey bulmak daha iyi yoksa ben kabul edecek çözüm olabilir bulundu ...

Using two files

Bu son çözüm INI çözüm olarak makul görünüyor. Aslında, çıktı (PHP ile kullanıcı kullanarak seçenekleri değiştirir her zaman düzenlenebilir olacak dosya olarak "girdi" (o isterse kullanıcı düzenlemek istiyorsunuz dosyası) ve bir XML / JSON dosyası olarak bir INI dosyasını kullanabilirsiniz Web ön uç). Bu noktada, en iyi çözüm "çıktı" dosyası bugüne kadar her zaman böylece, o doğrudan config dosyasını düzenlenmiş elle yapılandırmayı yeniden kullanıcı sormak olacaktır.


Yukarıdaki çözümler hiçbiri mükemmel olduğunu biliyorum, ve ben tavsiye istemek için bu konuyu oluşturulan bu yüzden. En iyi çözüm nedir? Belki (muhtemelen) ben henüz başka bir çözüm kaçırdı.

Son bir şey: Eğer buna alışık değilseniz bu sözdizimi kadar karmaşa çok daha kolay, çünkü YAML geçerli bir çözüm değildir. PHP ile PHP düzenleme bir ağrı çünkü PHP ya da bir çözüm değildir. Bazı yapılandırmayı almak ancak bir web ön uç aracılığıyla doğrudan düzenleyemezsiniz istiyorsanız PHP sadece iyi bir çözümdür.

0 Cevap