gpt4 book ai didi

php - 从 JSON 或 PHP 文件加载网站配置?

转载 作者:可可西里 更新时间:2023-11-01 13:08:02 25 4
gpt4 key购买 nike

我在 config.json 文件中存储了一些网站配置数据,其中包括数据库连接参数和路由等内容。像这样:

{
"production" : { ... },
"test" : { ... },
"development" : { ... }
}

内容加载为:

$config = json_decode(file_get_contents('config'), true);

但是,检查一些框架,我看到直接使用 PHP 脚本来存储配置:

<?php
return array(
'production' => array( ... ),
'test' => array( ... ),
'development' => array( ... )
);
<?php $config = (require 'config.php');

哪种方法最好?

最佳答案

使用 config.php 方法有几个优点:

  1. PHP 编译器会在加载 config.php 文件时快速告诉您是否存在语法错误,而您必须等到解析 JSON 文件才能发现任何错误
  2. 在第二次和后续页面加载时,PHP 文件的加载速度将比解析 JSON 文件的速度快,因为脚本将由网络服务器缓存(如果支持并启用缓存)。
  3. 安全漏洞的可能性较小。正如 Michael Berkowski 在他的评论中指出的那样,如果您不将 JSON 文件存储在文档根目录之外或不正确配置 Web 服务器设置,Web 客户端将能够下载您的 JSON 文件并获取您的数据库用户名和密码并直接获得访问您的数据库。相比之下,如果 Web 服务器正确配置为通过 PHP 脚本引擎处理 *.php 文件,则客户端无法直接下载 config.php,即使它位于文档根目录下。

不确定使用 JSON 而不是 config.php 是否真的有任何优势,除非您有多个用不同语言(例如 perl、python 和 php)编写的应用程序都需要访问相同的共享配置信息。 JSON 可能还有其他优势,但目前还没有想到。

关于php - 从 JSON 或 PHP 文件加载网站配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17666728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com