类 IniConfig
Ini 文件配置引擎。
由于 IniConfig 在底层使用 parse_ini_file,您应该注意此类共享相同的行为,尤其是关于布尔值和空值的行为。
除了本机 parse_ini_file
功能之外,IniConfig 还允许您通过使用 .
分隔的名称来创建嵌套数组结构。这使您能够在 ini 配置文件中创建嵌套数组结构。例如
db.password = secret
将变成 ['db' => ['password' => 'secret']]
您可以使用 .
尽可能深入地嵌套属性。除了使用 .
之外,您还可以使用标准的 ini 部分符号来创建嵌套结构
[section]
key = value
加载到 Configure 后,上述内容将使用以下方法访问
`Configure::read('section.key');
您还可以使用 .
分隔的值在部分名称中创建更深入的嵌套结构。
IniConfig 还操作如何处理 'yes'、'no'、'on'、'off'、'null' 这些特殊的 ini 值。这些值将转换为其布尔等效项。
属性摘要
-
$_extension protected
string
文件扩展名。
-
$_path protected
string
此引擎在其中查找文件的路径。
-
$_section protected
string|null
要读取的部分,如果为 null,将读取所有部分。
方法摘要
-
__construct() public
构建并构造一个新的 ini 文件解析器。解析器可用于读取文件系统上的 ini 文件。
-
_getFilePath() protected
获取文件路径
-
_parseNestedValues() protected
从键中解析嵌套的值。
-
_value() protected
将值转换为 ini 等效值
-
dump() public
将 Configure 数据的状态转储到格式化的 ini 字符串中。
-
read() public
读取 ini 文件并将结果作为数组返回。
方法详情
__construct() ¶ public
__construct(string|null $path = null, string|null $section = null)
构建并构造一个新的 ini 文件解析器。解析器可用于读取文件系统上的 ini 文件。
参数
-
string|null
$path optional 要从中加载 ini 配置文件的路径。默认为 CONFIG。
-
string|null
$section optional 仅获取一个部分,保留 null 以解析并获取 ini 文件中的所有部分。
_getFilePath() ¶ protected
_getFilePath(string $key, bool $checkExists = false): string
获取文件路径
参数
-
string
$key 要写入的标识符。如果键包含 .,它将被视为插件前缀。
-
bool
$checkExists optional 是否检查文件是否存在。默认为 false。
返回值
string
抛出
Cake\Core\Exception\CakeException
当文件不存在或文件包含 '..' 时,因为这会导致恶意读取。
_parseNestedValues() ¶ protected
_parseNestedValues(array $values): array
从键中解析嵌套的值。
参数
-
array
$values 要分解的值。
返回值
array
dump() ¶ public
dump(string $key, array $data): bool
将 Configure 数据的状态转储到格式化的 ini 字符串中。
参数
-
string
$key 要写入的标识符。如果键包含 .,它将被视为插件前缀。
-
array
$data 要转换为 ini 文件的数据。
返回值
bool
read() ¶ public
read(string $key): array
读取 ini 文件并将结果作为数组返回。
此方法用于从源读取配置信息。这些源可以是静态资源(如文件),也可以是动态资源(如数据库或其他数据源)。
参数
-
string
$key 要从中读取的标识符。如果键包含 .,它将被视为插件前缀。所选文件必须位于引擎的路径上。
返回值
array
抛出
Cake\Core\Exception\CakeException
当文件不存在时。或者当文件包含 '..' 时,因为这会导致恶意读取。