我在PHP中创建一个框架,需要一些配置文件。其中一些文件不可避免地会有大量条目。
这些配置文件最适合哪种格式?
以下是我对最佳状态的量化:
我开始使用XML,但很快就放弃了明显的原因。我已经想到了JSON和YAML,但想看看还有什么。
答案 0 :(得分:20)
INI文件格式怎么样?它是事实上的配置文件标准,PHP有一个内置的解析器用于该格式:
答案 1 :(得分:14)
答案 2 :(得分:12)
为什么不使用PHP文件进行配置?
好处很明显:
Django和rails等其他框架使用配置文件,这是一个脚本。
答案 3 :(得分:4)
另一种选择是使用JSON并使用json_encode
和json_decode
。
您可以在配置参数中使用更丰富的数据结构。
答案 4 :(得分:1)
我个人喜欢在课堂上配置数据。
class appNameConfig {
var $dbHost = 'localhost';
var $dbUser = 'root';
//...
}
然后使用它们你所要做的就是
$config = new appNameConfig;
mysql_connect($config->dbHost, $config->dbUser, $config->dbPassword) or die(/*...*/);
更改配置所有你要做的就是读取包含类的文件我使用这样的函数:
function updateConfig($parameter, $value) {
$fh = fopen('config.php', 'w+');
while(!feof($fh)) {
$file .= fgets($fh);
}
$fileLines = explode("\n", $file);
for($i=0;$i<count($fileLines);$i++) {
if(strstr($fileLines[$i], $parameter)) {
$fileLines[$i] = "$" . $parameter . " = '" . $value . "'";
}
}
$file = implode("\n", $fileLines);
fwrite($fh, $file);
fclose($fh);
}