API IniFile __construct - SierraKomodo/INILib GitHub Wiki
IniFile::__construct - Constructs a new IniFile object
Description
public IniFile::__construct(string $fileName [, bool $readOnly = false [, int $scannerMode = INI_SCANNER_RAW ]])
Construct a new IniFile object
Parameters
fileName
The file to read. This is passed directly to SplFileObject::__construct() as the filename parameter to create an internal file handler.
NOTE: The file must already exist. If IniFile is being used to create a new/default INI file, it's recommended to use mkdir() and touch() to create the filepath first.
readOnly
Flag to specify whether the INI file should be treated as 'read-only' or allow write/modification operations. If set to true, the created SplFileObject will use a read-only open_mode, and any IniFile methods that would modify the INI data stored in memory or the INI file itself will throw a IniFileException exception with code IniFileException::ERR_READ_ONLY.
scannerMode
The PHP built-in INI scanner mode to use. See the scanner_mode section of PHP.net's parse_ini_string documentation for specific details. Current parameter validations will require one of INI_SCANNER_NORMAL, INI_SCANNER_TYPED, or INI_SCANNER_RAW.
NOTE: It is highly recommneded to use the default value INI_SCANNER_RAW if you intend to write data to the INI file, and perform comparisons/modifications using string comparisons. This is because the scanner mode only affects the reading of the INI file, and will not change values when they are being written to a file. As an example: Assume you have an INI file with key bSomeBooleanValue=off. INI_SCANNER_NORMAL will parse this as an empty string '', INI_SCANNER_RAW as string 'off', and INI_SCANNER_TYPED as boolean false. Upon writing this data back to file, without any changes, this key will now have an empty value, a value of off, or a value of 0, respectively. A possible correction to this behavior is planned for future updates.
Return Values
No value is returned (void)
Errors/Exceptions
- Throws a
IniFileExceptionwith codeIniFileException::ERR_FILE_NOT_EXISTif$parFilecannot be opened - Throws a
IniFileExceptionwith codeIniFileException::ERR_INVALID_PARAMETERif$scannerModeis not one of the accepted scanner modes - Throws a
IniFileExceptionwith codeIniFileException::ERR_FILE_NOT_READABLEif$parFileis unreadable according toSplFileObject::isReadable()
Changelog
| Version | Description |
|---|---|
| v1.0.0 | IniFile::__construct() introduced |
Examples
Example #1
Assuming config.ini has the following contents:
[Section]
key1=apple
key2=banana
key3=pear
This example opens an INI file and retrieves the generated data array
$iniFile = new IniFIle('config.ini');
$dataArray = $iniFile->fetchDataArray();
var_dump($dataArray);
The above example will output something similar to:
array(1) {
["Section"]=>
array(3) {
["key1"]=> string(5) "apple"
["key2"]=> string(6) "banana"
["key3"]=> string(4) "pear"
}
}