donatj / php-ini-builder
PHP `parse_ini_string` Compatible INI Builder
Fund package maintenance!
www.paypal.me/donatj/15
Ko Fi
donatj
Installs: 106 998
Dependents: 2
Suggesters: 0
Security: 0
Stars: 4
Watchers: 5
Forks: 1
Open Issues: 1
Requires
- php: >=7.1
- ext-ctype: *
Requires (Dev)
- corpus/coding-standard: ^0.6.0
- donatj/drop: *
- friendsofphp/php-cs-fixer: ^3.1
- phpunit/phpunit: ~7|~9|~11
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2024-11-06 22:36:57 UTC
README
Create PHP parse_ini_string
/ parse_ini_file
compatible INI strings from associative arrays.
Requirements
- php: >=7.1
- ext-ctype: *
Installing
Install the latest version with:
composer require 'donatj/php-ini-builder'
Example
Here is a simple example script:
<?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:
[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
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
Throws: \donatj\Ini\ExceededMaxDepthException
Method: Builder->__invoke
function __invoke(array $data) : string
Same as generate
- exists to make Builder callable.
Method: Builder->escape
function escape($value) : string
Escapes Values According to Currently Set Rules
Parameters:
- bool | float | int | string | null
$value
Method: Builder->enableBoolDetection
function enableBoolDetection(bool $enableBool) : void
Enable / Disable Automatic Boolean Detection
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
Method: Builder->enableNumericDetection
function enableNumericDetection(bool $enableNumeric) : void
Enable / Disable Automatic Numeric Detection
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
Method: Builder->enableAlphaNumericDetection
function enableAlphaNumericDetection(bool $enableAlphaNumeric) : void
Enable / Disable Automatic AlphaNumeric Detection
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.
Method: Builder->enableSkipNullValues
function enableSkipNullValues(bool $skipNullValues) : void
Enable / Disable Skipping Null Values
When enabled, null values will be skipped.
Class: donatj\Ini\ExceededMaxDepthException
Exception thrown when the max depth supported by INI is exceeded.