php app için yapılandırmaları saklamak için nasıl -

6 Cevap php

PHP ile yazılmış bir uygulama var, ve ayarlanabilir değişken bir dizi vardır. Biz kullanıcı yapılandırmaları kümeleri oluşturabilir ve bunlar arasında kolayca geçiş yapabilirsiniz bir özellik uygulama ediyoruz. Nasıl benim yapılandırmaları saklamak gerekir? XML olarak? Bir. ini dosyasında? birden. ini dosyaları? Bir db mi?

Biz yolda alanlar eklerseniz ne çok esneklik sağlamak için gidiyor? Kolaylık Kodlama?

Ben bir db kullanıyorsanız, ben bu uzakta beni utangaç yapmış girmeden değer değil nedenlerden dolayı, için app ana birinden ayrı bir birini kullanmak gerekir. (Ayrıca, biz kullanıyoruz. Mdb dosyaları bizim db için.)

Ben xml rota aşağı devam ettik, ama ben SimpleXML kullanarak ekleme ile ilgili sorunlar ve düzenleme yapılandırmaları yaşıyorum. Ayrıca, uygulama php 5.1.6 ile uyumlu olmak zorundadır, ve ben bazı işlevleri hakkında biraz gerginim.

Gerçekten özel ini dosyaları oluşturma ele asla ....

Küçük bir açıklama: Kullanıcıların dosyaları dokunmayın - onlar non-teknik okul demektir. Yani ilk dosyalar bizim tarafımızdan yapılacaktır kurma, ama sonra biz tercih ne olursa olsun formatı kendi yapılandırmasını (ler) dışarı writie gidiyor bir araç yazıyoruz.

6 Cevap

Farklı bir DB bir DB için ayarları saklamak IMO, pek mantıklı değil.

jmucchiello önerdiği gibi, ini dosyası, bir xml dosyası veya bir php dosyası ya seçsin. Her seçenek, artıları ve eksileri bulunuyor vardır. Ini karşı xml gelince, xml fazla esneklik sunuyor ama daha sürdürmek zor (daha az okunabilir) 'dir. İhtiyaçlarınızı ini kapsamında ise, basit bir çözüm ile sopa. Xml kullanın Eğer ini dosyaları daha sadece ihtiyacınız varsa size sunabilir.

Php çözümüne yönelik olarak, ben bir yere ini ve xml arasındaki okunabilirliği değerlendirirsiniz, ancak geçerli ayarları kaydetmek için daha zor olurdu. Yani her ne kadar yaklaşım gibi, mevcut scenarion için ben bunu tavsiye etmem.

Ben bir PHP dosyası yapılandırmaları öğeleri saklamak istiyorum. Bu en esnek yöntemdir I kullanmış olduğunu.

$config['website_url'] = 'google.com';

Daha sonra aşağıdaki dosya yapısına sahip

- config/development
- config/production

Bu TRUE tersi üretim yapılandırma öğeleri yükler ve zaman ben, erken IN_PRODUCTION adlı yazılımda tanımlanan bir sabit var.

Bu basit ve kolay yaşatılabilir olduğunu.

-Mathew

Aslında, yapılandırma için bir çalıştırılabilir PHP dosyası tercih. Eğer başka çözümler kullanarak kolayca gerçekleştirmek edilemez bir çalıştırılabilir dosyaya çok şeyler yapabilirsiniz. Bir çalıştırılabilir dosyaya sadece büyük dezavantajı yönetici güvenle dosyasını düzenlemek için PHP anlayışlı olmak için vardır. PHP ayrıca beri yapılandırmasında karmaşık veri türlerini tanımlamak - bu kod.

Hala bulmak ve db bağlanmak için harici bir yapılandırma dosyası gerekir çünkü DB bir sorundur.

XML yapılandırma için overkill.

INI dosyaları ile çalışmak ve bunları okumak için PHP ini kütüphaneleri kullanabilirsiniz. Parse_ini_file (bkz.). ini dosyaları karmaşık veri türüyle başa çıkmak çok iyi olsa da yok.

Itay Moav (yorumlar bu hakkı biçimlendirmek değil) cevap EDIT:

<?php /* my config file */

$_CFG = Array(); /* problem solved */
$_CFG['key1'] = 'value1';
?>

i viewed a post with same question just a moment ago, here is a good solution in follwing link. It is a good practice to collection of useful code. I suppose. :)

INI işleyicisi sınıf almak için iniHandler class tıklayın!

Ben burada cevap gerçekten bireysel durumunuza bağlı olacak düşünüyorum. Bunların her biri iyi bir seçenek olacaktır durumlar vardır. Sizin özel durum için, xml muhtemelen iyi olurdu. Eğer birden çok ilgili seçenekler varsa Ama xml gerçekten bir ini dosyası üzerinde parlar nerede. Sizin için bağlantı bilgilerini tutmak için gerekiyorsa Örneğin o belirli bir bağlantı için bir düğüm altında bağlantının farklı bölümleri için düğümleri sahip bir veritabanı okumak ve korumak daha kolay olabilir. Gerçekten verilere bağlıdır.

Ben de bir xml dosyası sadece tek bir değer çekin ve uygulamanın başında belleğe tüm dosya yüklemek değil gittiğini ile çalışmak daha kolay olacağını söyleyebilirim.

Yapılandırma dosyaları yükleyen kendi yapılandırma sınıfı yazın. Iyi bir örnek CodeIgniter yapılandırma kolları yoludur.

http://codeigniter.com/user_guide/libraries/config.html

Varsayılan olarak bazı yapılandırma dosyaları yükler veya Yapılandırma sınıf ile özel bir tane yükleyebilirsiniz.

Sen kaynak kodu indirmek ve eğitim amaçlı bunu nasıl bir göz atabilirsiniz.

Başka bir seçenek veritabanından bir yapılandırma dizi ile bir php dosyası oluşturmak olacaktır. Yani tüm seçenekleri yönetmek ve tasarruf dosyası oluşturabilirsiniz.