什么';这是在PHP中读取配置文件的最佳方式
我知道这很主观。我总是使用框架,所以当我必须从头开始工作时,我有点迷失了方向 我想创建一个从配置文件读取值的类。我更喜欢使用php数组作为配置文件,而不是.ini文件 最好的方法是什么?在方法中使用require_一次在我看来有点奇怪 我想做的是一个类,它读取一个配置文件并将这些值作为属性公开什么';这是在PHP中读取配置文件的最佳方式,php,php-7,Php,Php 7,我知道这很主观。我总是使用框架,所以当我必须从头开始工作时,我有点迷失了方向 我想创建一个从配置文件读取值的类。我更喜欢使用php数组作为配置文件,而不是.ini文件 最好的方法是什么?在方法中使用require_一次在我看来有点奇怪 我想做的是一个类,它读取一个配置文件并将这些值作为属性公开 感谢您的建议读取阵列中的任何ini文件: 要通过require(require\u一次)使用数组: 大多数php配置文件使用常量 define("SITE_NAME", "My Test Site");
感谢您的建议读取阵列中的任何ini文件: 要通过require(require\u一次)使用数组:
大多数php配置文件使用常量
define("SITE_NAME", "My Test Site");
读取值;
SITE_NAME更新了答案,没有ini版本您知道这个问题是主观的,但您仍然会问这个问题,即使这明显偏离了主题?@Franzgleichman非常感谢您的建设性态度谢谢您的回复,抱歉我解释得不好,我想在OO模式下这样做,我更新了我的问题,但我想做的是创建一个从配置文件读取值的类,所以当我创建那个类的实例时,我把配置参数作为属性……@ USE3174311添加了一个例子,说明它是如何与OOPThanks一起使用的,我更新了一点,也考虑了JSON配置文件。
<?php
// config.php
return ["db" =>"mysql", "folder" => "cache"];
// index.php
$config = require_once("config.php");
<?php
// path/to/config/file.php
return ['db' => 'mysql'];
// Config.php
class Config
{
public static function getInstance($configFile) {
if (self::$instance == null) {
// check that file exists.
$ext = strtolower(substr($configFile, -3));
if ($ext === "php") {
$data = require($configFile);
} elseif ($ext) === "ini") {
$data = parse_ini_file("sample.ini");
} else {
throw new \Exception('Can nod read config file');
}
self::$instance = new \ArrayObject($data, \ArrayObject::ARRAY_AS_PROPS);
//or
//self::$instance = (object) $data;
}
return self::$instance;
}
private static $instance;
}
// Usage
$config = Config::getInstance('path/to/config/file.php');
echo $config->db;
define("SITE_NAME", "My Test Site");