我正在讨论如何在我正在设计的管理仪表板中使用configuration.ini或config.json。我喜欢ini更多地用于配置目的,但由于目前对JSON感兴趣,因此在设计配置时考虑到json似乎更符合逻辑。
这里的问题是我应该肯定地使用json吗?其次,目前我的configuration.ini文件上有这个黑客,它阻止了公开看到该文件。
;<?php exit(); __halt_compiler();
; //to stop script execution if not used in our best interest!
; //remember this format
//ini stuff
;?>我想知道我能不能把这个和json文件一起用呢?我没有测试它仅仅是因为我不想让任何奇怪的东西完全搞砸所有的up.As --很好地描述为什么会这样做--现在我知道这不会特别适用于json,因为;是基于ini的注释,所以它可以转换为//或/**/吗?
出于兴趣考虑,这是我目前的admin__autoload.php页面
set_include_path(dirname($_SERVER["DOCUMENT_ROOT"]));
$ini = parse_ini_file("configurations.ini",true);
foreach($ini as $section=>$values) {
foreach($values as $key=>$value ) {
define("__".strtoupper($key)."__",$value);
}
}
spl_autoload_register(function($class) {
if(!file_exists(get_include_path(). DIRECTORY_SEPARATOR .__ADMIN__."classes/{$class}.php")) {
echo get_include_path(). DIRECTORY_SEPARATOR .__ADMIN__."classes/{$class}.php does not exist";
} else {
include_once get_include_path(). DIRECTORY_SEPARATOR .__ADMIN__."classes/{$class}.php";
}
});__ADMIN__是用ini文件中的foreach循环创建的。
发布于 2015-07-18 02:41:05
我觉得你在问两个不同的问题。
2的答案很简单。不要将配置文件放在公共文档根目录中。
至于在INI还是JSON之间进行选择,这是相当主观的,没有非常清楚地理解用例。
INI对读者来说更有表现力,但更难解析。JSON作为序列化格式是可移植的,但作为人更难阅读。
因此,如果您经常手工编辑配置文件,那么使用INI是有意义的,因为它比JSON稍微消除了歧义。如果您是通过一个自主的过程进行编辑,或者在其他方面需要跨不同系统的可移植性,那么JSON可能更方便。
第三个选择是YAML,它是INI的人类可读的方面和JSON的可移植性之间的一个很好的中间点。
https://stackoverflow.com/questions/31487131
复制相似问题