首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php与json和halt编译器黑客

php与json和halt编译器黑客
EN

Stack Overflow用户
提问于 2015-07-18 02:19:35
回答 1查看 1.2K关注 0票数 2

我正在讨论如何在我正在设计的管理仪表板中使用configuration.iniconfig.json。我喜欢ini更多地用于配置目的,但由于目前对JSON感兴趣,因此在设计配置时考虑到json似乎更符合逻辑。

这里的问题是我应该肯定地使用json吗?其次,目前我的configuration.ini文件上有这个黑客,它阻止了公开看到该文件。

代码语言:javascript
复制
;<?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页面

代码语言:javascript
复制
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循环创建的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-18 02:41:05

我觉得你在问两个不同的问题。

  1. 哪种配置格式最适合我的需要
  2. 如何防止公共访问配置文件

2的答案很简单。不要将配置文件放在公共文档根目录中。

至于在INI还是JSON之间进行选择,这是相当主观的,没有非常清楚地理解用例。

INI对读者来说更有表现力,但更难解析。JSON作为序列化格式是可移植的,但作为人更难阅读。

因此,如果您经常手工编辑配置文件,那么使用INI是有意义的,因为它比JSON稍微消除了歧义。如果您是通过一个自主的过程进行编辑,或者在其他方面需要跨不同系统的可移植性,那么JSON可能更方便。

第三个选择是YAML,它是INI的人类可读的方面和JSON的可移植性之间的一个很好的中间点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31487131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档