PHP - Bir yapılandırma dosyası (ler) için XML kullanma nitelikleri veya tam tersi daha iyi unsurlar nelerdir?

2 Cevap php

Ben standart bir daha ne config dosyası oluştururken, (SimpleXML Kullanarak) PHP bir yapılandırma dosyası için XML kullanıyorum.

Elemanlarının tüm değerlerine sahip veya nitelikleri kullanan?

Elemanlar Örnek:

<database>
   <user>test-user</user>
   <pass>test-pass</pass>
</database>

Örnek Özellik:

<database user="test-user" pass="test-pass"></database>

Her iki şekilde herhangi bir faydaları var mıdır?

Ayrıca diğer diller gibi Java ve Perl gibi aynı config dosyasını okumak gerekebilir.

2 Cevap

The oldest question asked by adopters of XML is when to use elements and when to use attributes in XML design. As with most design issues, this question rarely has absolute answers, but developers have also experienced a lack of very clear guidelines to help them make this decision.

Principles of XML design: When to use elements versus attributes IBM tarafından bakın. Çok güzel bir makale.

İşte bir parçacık bulunuyor:

Benim deneyim XML kullanıcıları ile çalışırken, ilk soru farkla en yaygın gereğidir. Bazı durumlarda cevabı oldukça kesindir:

  • Söz konusu bilginin kendisi unsurları ile işaretlenmiş olabilir eğer, bir eleman koymak.
  • Bilgi öznitelik form için uygundur, ancak bunun yerine alt öğeleri kullanmak, aynı elemanın üzerinde aynı adı gibi birden fazla özelliklerini bitebileceğini.
  • Bilgiler, kimliği, IDREF veya ENTITY gibi standart bir DTD gibi öznitelik türü olması gerekiyorsa, bir özniteliğini kullanın.
  • Bilgi boşluk için normalize olmamalı eğer öğeleri kullanın. (XML işlemciler öznitelik değerinin ham metni değiştirebilirsiniz şekillerde özelliklerini normalleştirmek.)

XML okunabilir bir biçimi olduğu için icat edilmiştir, fakat bu yüzden hiç kimse okumak elle ya da düzenlemek için cesaret olduğunu resmiyet oluyor.

Kimse okurdu, ben PHP kendisini kullanmak öneririm.

<?
    $config['db']['user']="user";
    $config['db']['pass']="pass";
?>  

Bu biraz daha güvenli ve güvenilir.