Phalcon config
NOTE
All classes are prefixed with Phalcon
Config\Adapter\Grouped¶
Class Source on GitHub
Reads multiple files (or arrays) and merges them all together.
See Phalcon\Config\ConfigFactory::load To load Config Adapter class using 'adapter' option.
use Phalcon\Config\Adapter\Grouped;
$config = new Grouped(
[
"path/to/config.php",
"path/to/config.dist.php",
]
);
use Phalcon\Config\Adapter\Grouped;
$config = new Grouped(
[
"path/to/config.json",
"path/to/config.dist.json",
],
"json"
);
use Phalcon\Config\Adapter\Grouped;
$config = new Grouped(
[
[
"filePath" => "path/to/config.php",
"adapter" => "php",
],
[
"filePath" => "path/to/config.json",
"adapter" => "json",
],
[
"adapter" => "array",
"config" => [
"property" => "value",
],
],
],
);
Phalcon\Support\CollectionPhalcon\Config\ConfigPhalcon\Config\Adapter\Grouped
Uses Phalcon\Config\Config · Phalcon\Config\ConfigFactory · Phalcon\Config\ConfigInterface · Phalcon\Config\Exception · Phalcon\Config\Exceptions\GroupedAdapterRequiresArray · Phalcon\Factory\Exception
Method Summary¶
Methods¶
__construct()¶
Phalcon\Config\Adapter\Grouped constructor
Config\Adapter\Ini¶
Class Source on GitHub
Reads ini files and converts them to Phalcon\Config\Config objects.
Given the next configuration file:
[database]
adapter = Mysql
host = localhost
username = scott
password = cheetah
dbname = test_db
[phalcon]
controllersDir = "../app/controllers/"
modelsDir = "../app/models/"
viewsDir = "../app/views/"
You can read it as follows:
use Phalcon\Config\Adapter\Ini;
$config = new Ini("path/config.ini");
echo $config->phalcon->controllersDir;
echo $config->database->username;
PHP constants may also be parsed in the ini file, so if you define a constant as an ini value before calling the constructor, the constant's value will be integrated into the results. To use it this way you must specify the optional second parameter as INI_SCANNER_NORMAL when calling the constructor:
Phalcon\Support\CollectionPhalcon\Config\ConfigPhalcon\Config\Adapter\Ini
Uses Phalcon\Config\Config · Phalcon\Config\Exception · Phalcon\Config\Exceptions\CannotLoadConfigFile
Method Summary¶
public __construct(string $filePath,int $mode = 1) Ini constructor. protected mixed cast( mixed $ini ) We have to cast values manually because parse_ini_file() has a poor protected array castArray( array $ini ) protected array parseIniString(string $path,mixed $value) Build multidimensional array from string protected phpParseIniFile(string $filename,bool $processSections = false,int $scannerMode = 1) @todo to be removed when we get traits Methods¶
__construct()¶
Ini constructor.
cast()¶
We have to cast values manually because parse_ini_file() has a poor implementation.
castArray()¶
parseIniString()¶
Build multidimensional array from string
phpParseIniFile()¶
protected function phpParseIniFile(
string $filename,
bool $processSections = false,
int $scannerMode = 1
);
@todo to be removed when we get traits
Config\Adapter\Json¶
Class Source on GitHub
Reads JSON files and converts them to Phalcon\Config\Config objects.
Given the following configuration file:
You can read it as follows:
use Phalcon\Config\Adapter\Json;
$config = new Json("path/config.json");
echo $config->phalcon->baseuri;
echo $config->models->metadata;
Phalcon\Support\CollectionPhalcon\Config\ConfigPhalcon\Config\Adapter\Json
Uses Phalcon\Config\Config · Phalcon\Support\Helper\Json\Decode
Method Summary¶
Methods¶
__construct()¶
Phalcon\Config\Adapter\Json constructor
Config\Adapter\Php¶
Class Source on GitHub
Reads php files and converts them to Phalcon\Config\Config objects.
Given the next configuration file:
<?php
return [
"database" => [
"adapter" => "Mysql",
"host" => "localhost",
"username" => "scott",
"password" => "cheetah",
"dbname" => "test_db",
],
"phalcon" => [
"controllersDir" => "../app/controllers/",
"modelsDir" => "../app/models/",
"viewsDir" => "../app/views/",
],
];
You can read it as follows:
use Phalcon\Config\Adapter\Php;
$config = new Php("path/config.php");
echo $config->phalcon->controllersDir;
echo $config->database->username;
Phalcon\Support\CollectionPhalcon\Config\ConfigPhalcon\Config\Adapter\Php
Uses Phalcon\Config\Config
Method Summary¶
Methods¶
__construct()¶
Phalcon\Config\Adapter\Php constructor
Config\Adapter\Yaml¶
Class Source on GitHub
Reads YAML files and converts them to Phalcon\Config\Config objects.
Given the following configuration file:
You can read it as follows:
define(
"APPROOT",
dirname(__DIR__)
);
use Phalcon\Config\Adapter\Yaml;
$config = new Yaml(
"path/config.yaml",
[
"!approot" => function($value) {
return APPROOT . $value;
},
]
);
echo $config->phalcon->controllersDir;
echo $config->phalcon->baseuri;
echo $config->models->metadata;
Phalcon\Support\CollectionPhalcon\Config\ConfigPhalcon\Config\Adapter\Yaml
Uses Phalcon\Config\Config · Phalcon\Config\Exception · Phalcon\Config\Exceptions\CannotLoadConfigFile · Phalcon\Config\Exceptions\MissingYamlExtension
Method Summary¶
public __construct(string $filePath,array $callbacks = null) Phalcon\Config\Adapter\Yaml constructor protected bool phpExtensionLoaded( string $name ) protected phpYamlParseFile(mixed $filename,mixed $pos = 0,mixed $ndocs = null,mixed $callbacks = []) @todo to be removed when we get traits Methods¶
__construct()¶
Phalcon\Config\Adapter\Yaml constructor
phpExtensionLoaded()¶
phpYamlParseFile()¶
protected function phpYamlParseFile(
mixed $filename,
mixed $pos = 0,
mixed $ndocs = null,
mixed $callbacks = []
);
@todo to be removed when we get traits
Config\Config¶
Class Source on GitHub
Phalcon\Config is designed to simplify the access to, and the use of, configuration data within applications. It provides a nested object property based user interface for accessing this configuration data within application code.
$config = new \Phalcon\Config\Config(
[
"database" => [
"adapter" => "Mysql",
"host" => "localhost",
"username" => "scott",
"password" => "cheetah",
"dbname" => "test_db",
],
"phalcon" => [
"controllersDir" => "../app/controllers/",
"modelsDir" => "../app/models/",
"viewsDir" => "../app/views/",
],
]
);
Uses Phalcon\Config\Exceptions\InvalidMergeData · Phalcon\Support\Collection
Method Summary¶
public string getPathDelimiter() Gets the default path delimiter public ConfigInterface merge( mixed $toMerge ) Merges a configuration into the current one public mixed path(string $path,mixed $defaultValue = null,string $delimiter = null) Returns a value from current config using a dot separated path. public ConfigInterface setPathDelimiter( string $delimiter = null ) Sets the default path delimiter public array toArray() Converts recursively the object to an array protected array internalMerge(array $source,array $target) Performs a merge recursively protected void setData(mixed $element,mixed $value) Sets the collection data Constants¶
string DEFAULT_PATH_DELIMITER = "." Properties¶
protected string $pathDelimiter = self::DEFAULT_PATH_DELIMITER Methods¶
getPathDelimiter()¶
Gets the default path delimiter
merge()¶
Merges a configuration into the current one
$appConfig = new \Phalcon\Config\Config(
[
"database" => [
"host" => "localhost",
],
]
);
$globalConfig->merge($appConfig);
path()¶
Returns a value from current config using a dot separated path.
setPathDelimiter()¶
Sets the default path delimiter
toArray()¶
Converts recursively the object to an array
internalMerge()¶
Performs a merge recursively
setData()¶
Sets the collection data
Config\ConfigFactory¶
Class Source on GitHub
Loads Config Adapter class using 'adapter' option, if no extension is provided it will be added to filePath
use Phalcon\Config\ConfigFactory;
$options = [
"filePath" => "path/config",
"adapter" => "php",
];
$config = (new ConfigFactory())->load($options);
Phalcon\Factory\AbstractConfigFactoryPhalcon\Factory\AbstractFactoryPhalcon\Config\ConfigFactory
Uses Phalcon\Config\Config · Phalcon\Config\ConfigInterface · Phalcon\Config\Exceptions\ConfigNotArrayOrObject · Phalcon\Config\Exceptions\MissingConfigOption · Phalcon\Config\Exceptions\MissingFileExtension · Phalcon\Factory\AbstractFactory
Method Summary¶
public __construct( array $services = [] ) ConfigFactory constructor. public ConfigInterface load( mixed $config ) Load a config to create a new instance public ConfigInterface newInstance(string $name,string $fileName,mixed $params = null) Returns a new Config instance protected string getExceptionClass() protected array getServices() Returns the available adapters protected array parseConfig( mixed $config ) Methods¶
__construct()¶
ConfigFactory constructor.
load()¶
Load a config to create a new instance
newInstance()¶
public function newInstance(
string $name,
string $fileName,
mixed $params = null
): ConfigInterface;
Returns a new Config instance
getExceptionClass()¶
getServices()¶
Returns the available adapters
parseConfig()¶
Config\ConfigInterface¶
Interface Source on GitHub
Phalcon\Config\ConfigInterface
Interface for Phalcon\Config\Config class
ArrayAccessPhalcon\Contracts\Support\CollectionPhalcon\Support\Collection\CollectionInterfacePhalcon\Config\ConfigInterface
Uses Phalcon\Support\Collection\CollectionInterface
Method Summary¶
public string getPathDelimiter() public ConfigInterface merge( mixed $toMerge ) public mixed path(string $path,mixed $defaultValue = null,string $delimiter = null) public ConfigInterface setPathDelimiter( string $delimiter = null ) Methods¶
getPathDelimiter()¶
merge()¶
path()¶
setPathDelimiter()¶
Config\Exception¶
Class Source on GitHub
Exceptions thrown in Phalcon\Config will use this class
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\CannotLoadConfigFilePhalcon\Config\Exceptions\ConfigNotArrayOrObjectPhalcon\Config\Exceptions\GroupedAdapterRequiresArrayPhalcon\Config\Exceptions\InvalidMergeDataPhalcon\Config\Exceptions\MissingConfigOptionPhalcon\Config\Exceptions\MissingFileExtensionPhalcon\Config\Exceptions\MissingYamlExtension
Config\Exceptions\CannotLoadConfigFile¶
Class Source on GitHub
This file is part of the Phalcon Framework.
(c) Phalcon Team team@phalcon.io
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\CannotLoadConfigFile
Uses Phalcon\Config\Exception
Method Summary¶
Methods¶
__construct()¶
getFileName()¶
Config\Exceptions\ConfigNotArrayOrObject¶
Class Source on GitHub
This file is part of the Phalcon Framework.
(c) Phalcon Team team@phalcon.io
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\ConfigNotArrayOrObject
Uses Phalcon\Config\Exception
Method Summary¶
Methods¶
__construct()¶
Config\Exceptions\GroupedAdapterRequiresArray¶
Class Source on GitHub
This file is part of the Phalcon Framework.
(c) Phalcon Team team@phalcon.io
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\GroupedAdapterRequiresArray
Uses Phalcon\Config\Exception
Method Summary¶
Methods¶
__construct()¶
Config\Exceptions\InvalidMergeData¶
Class Source on GitHub
This file is part of the Phalcon Framework.
(c) Phalcon Team team@phalcon.io
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\InvalidMergeData
Uses Phalcon\Config\Exception
Method Summary¶
Methods¶
__construct()¶
Config\Exceptions\MissingConfigOption¶
Class Source on GitHub
This file is part of the Phalcon Framework.
(c) Phalcon Team team@phalcon.io
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\MissingConfigOption
Uses Phalcon\Config\Exception
Method Summary¶
Methods¶
__construct()¶
getOption()¶
Config\Exceptions\MissingFileExtension¶
Class Source on GitHub
This file is part of the Phalcon Framework.
(c) Phalcon Team team@phalcon.io
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\MissingFileExtension
Uses Phalcon\Config\Exception
Method Summary¶
Methods¶
__construct()¶
Config\Exceptions\MissingYamlExtension¶
Class Source on GitHub
This file is part of the Phalcon Framework.
(c) Phalcon Team team@phalcon.io
For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.
\ExceptionPhalcon\Config\ExceptionPhalcon\Config\Exceptions\MissingYamlExtension
Uses Phalcon\Config\Exception