PHP INI Builder
, (*1)
Create PHP parse_ini_string
/ parse_ini_file
compatible INI strings from associative arrays., (*2)
Requirements
Installing
Install the latest version with:, (*3)
composer require 'donatj/php-ini-builder'
Example
Here is a simple example script:, (*4)
<?php
require __DIR__ . '/../vendor/autoload.php';
$data = [
'Title' => [
'str' => 'awesome',
'int' => 7,
'flt' => 10.2,
],
'Title 2' => [
'bool' => true,
'arr' => [
'a', 'b', 'c', 6 => 'd', 'e', 'key' => 'f',
],
],
];
$builder = new \donatj\Ini\Builder;
echo $builder->generate($data);
Which outputs:, (*5)
[Title]
str = awesome
int = 7
flt = 10.2
[Title 2]
bool = true
arr[] = a
arr[] = b
arr[] = c
arr[6] = d
arr[] = e
arr[key] = f
Documentation
Class: donatj\Ini\Builder
Utility for Converting An Array to a INI string, (*6)
Method: Builder->__construct
function __construct([ bool $enableBool = true [, bool $enableNumeric = true [, bool $enableAlphaNumeric = true [, bool $skipNullValues = false]]]])
Parameters:
-
bool
$enableBool
- Enable automatic boolean detection?
-
bool
$enableNumeric
- Enable automatic numeric detection?
-
bool
$enableAlphaNumeric
- Enable automatic alpha-numeric detection?
-
bool
$skipNullValues
- Skip null values?
Method: Builder->generate
function generate(array $data) : string
INI String Result, (*7)
Throws: \donatj\Ini\ExceededMaxDepthException
, (*8)
Method: Builder->__invoke
function __invoke(array $data) : string
Same as generate
- exists to make Builder callable., (*9)
Method: Builder->escape
function escape($value) : string
Escapes Values According to Currently Set Rules, (*10)
Parameters:
-
bool | float | int | string | null
$value
Method: Builder->enableBoolDetection
function enableBoolDetection(bool $enableBool) : void
Enable / Disable Automatic Boolean Detection, (*11)
PHP's built in parse_ini_*
methods parse 1
, '1'
and true
and likewise ''
, and false
to the same
values when the scanner mode is set to INI_SCANNER_NORMAL
, enabling this option causes these values to be
output as true
/ false
, (*12)
Method: Builder->enableNumericDetection
function enableNumericDetection(bool $enableNumeric) : void
Enable / Disable Automatic Numeric Detection, (*13)
PHP's built in parse_ini_*
methods parse all values to string. Enabling this option enables numeric detection
so they will be output once again as floats/ints, (*14)
Method: Builder->enableAlphaNumericDetection
function enableAlphaNumericDetection(bool $enableAlphaNumeric) : void
Enable / Disable Automatic AlphaNumeric Detection, (*15)
PHP's built in parse_ini_*
methods does not require quotation marks around simple strings without spaces.
Enabling this option removes the quotation marks on said simple strings., (*16)
Method: Builder->enableSkipNullValues
function enableSkipNullValues(bool $skipNullValues) : void
Enable / Disable Skipping Null Values, (*17)
When enabled, null values will be skipped., (*18)
Class: donatj\Ini\ExceededMaxDepthException
Exception thrown when the max depth supported by INI is exceeded., (*19)