2010-02-14 183 views
2

我正在開發一個PHP應用程序,我必須存儲配置變量。使用SQLite進行配置管理

使用MySQL會過度,因爲它是我正在討論的CLI應用程序,並且只有幾個配置變量。

我不知道INI文件...我正在考慮使用SQLite。

您認爲如何?使用SQLite太過分了? 你建議使用其他方法嗎?

回答

1

這實際上取決於您的配置文件將會有多大以及您將要存儲多少個配置文件。

PHP處理ini文件相當好,它似乎是PHP框架中的流行選擇。

其他流行的方法:

  • XML
  • YAML
  • 文件包含JSON
+0

避免YAML;任何解析它的東西都是外部模塊,或者是用PHP本身實現的(並且性能很糟糕)。 ini,json和xml是本機支持的,並且不帶有perf命中 – damianb 2012-05-28 23:24:21

1

對於配置值我會建議你使用INI文件,並處理它與parse_ini_file功能比訴諸手段更容易SQLlite。

+0

我也想寫入配置文件。我看到了很多方法來讀取整個配置文件,操作它並覆蓋整個配置文件。 我認爲這不是很有效率 – feketegy 2010-02-14 19:11:56

+0

@feketegy - 你會多久寫這些配置文件?我懷疑效率會有影響。 – 2010-02-14 19:17:37

+0

經常。我必須跟蹤這些文件中的更新時間。 此CLI的php將被綁定到cron作業並每5分鐘運行一次 – feketegy 2010-02-14 19:21:15

1

考慮序列化/反序列化對小的配置設置的數組:

<?php 
# create settings array 
$settings = array(
    'setting1' => 'on', 
    'setting2' => 'off', 
    'setting3' => true, 
); 
# save it 
$filename = 'settings.txt'; 
file_put_contents($filename,serialize($settings)); 


# retrieve it 
$getSettings = unserialize(file_get_contents($filename)); 

    # modify it 
    $getSettings['addedLater'] = 'new value'; 

    # save it again. 
    file_put_contents($filename,serialize($getSettings)); 

    # rise and repeat 
?>