Skip to content

encodium/properties-ini

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP configuration writer and reader

Allows to get and set configuration variables stored in ini-like (or java .properties) files

Forked and updated to support PHP 8.x.

Installation with composer

composer require revolutionparts/properties-ini

Usage

####Basic Example

$config = Mayoturis\Properties\RepositoryFactory::make('path_to_configuration_file');
$config->get('DB_PASSWORD');
$config->set('DB_STRICT_MODE', true);

File format

Reader can load these types of lines

DB_HOST=localhost           // loaded as string 'localhost'
DB_USERNAME="user"          // string 'user'
DB_PASSWORD = 'password'    // string 'password'
DB_STRICT_MODE=true         // boolean true

FLOAT_VALUE=1.1             // float 1.1
INT_VALUE=1                 // int 1
NULL_VALUE=null             // null

# comment                   // won't be loaded
; comment                   // won't be loaded
//comment                   // won't be loaded

Comment has to be at the start of the line

Example of file loading

name="John"
surname=Doe
age=25
salary=12.5
married=false
wife=null

Will be loaded as

[
  "name"    => "John",
  "surname" => "Doe",
  "age"     => 25,
  "salary"  => 12.5
  "married" => false,
  "wife"    => null
]

Saving configuration

When saving the configuration, file format will be respected. Therefore empty lines and comments will preserved. New values (NOT only changed) will be placed at the end of the file

Further examples

Get all configuration values
$config = Mayoturis\Properties\RepositoryFactory::make('path_to_configuration_file');
$configurationArray = $config->all();
Setting value
// file .env

name=John
surname="Doe"

# In 2015
age=25
// file index.php

$config = Mayoturis\Properties\RepositoryFactory::make(__DIR__ . '/.env');
$config->set('name', 'Johny');
$config->set('age', 35);
// file .env after

name=Johny
surname="Doe"

# In 2015
age=35
Save all configuration values
$configArray = [
  "username" => "user",
  "password" => "password"
];

$config = Mayoturis\Properties\RepositoryFactory::make('path_to_configuration_file');
$config->setAll($configArray);

Notice: setAll function will override all configuration values. Previous values will be lost.

About

Getting and setting configuration values in ini (or java .properties) files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%