Configuration is a vital part of any application, the Wolff configuration can be defined in two ways, a system/config.php
file and an environment file.
The config file has the following definitions/keys inside an array that is being returned by the file itself.
db:
dbms: the database driver, you can choose between mysql
, pgsql
and sqlite
.
server: the database host name (usually it’s refered to as localhost).
name: the database name.
port: the connection port (this key is optional).
username: the database username.
password: the database username password.
env_file: The path of the .env file, by default it's .env
.
env_override: If true
the environment variables will override the config data in the Wolff\Core\Config
class and the config
function helper. (The environment keys are converted to lowercase in the override proccess).
language: the site's main language.
log_on: the log status, true
for enabling the use of the log system, false
for disabling it.
development_on: the development status, true
if the project is in an development environment, false
otherwise (in a development environment all the errors will be displayed).
template_on: the template system status, true
for enabling the template in the views, false
for disable it.
cache_on: the cache status, true
for enabling the use of cache, false
for disable it.
stdlib_on: the standard library status, true
for enabling its functions in the global namespace, false
for disable them.
maintenance_on: the maintenance mode status, true
for putting the page in maintenance, false
for not.
The data of the environment file (defined in the system/config.php
file) can be accessed through:
getenv
function.$_ENV
superglobal array.Wolff\Core\Config
array (only if the env_override
is set to true
in the system/config.php
file).config
function of the standard library.The Wolff\Core\Config
class has the get
method which can be used to get the current configuration.
get([string $key])
Wolff\Core\Config::get('title');
It returns the config or environment value of the given key (depending if the env_override
is set to true
or not).
system/config.php:
return [
'language' => 'english',
'env_file' => 'system/.env',
'env_override' => false,
];
system/.env:
LANGUAGE='spanish'
In this case Wolff\Core\Config::get('language')
and config('language')
will return english
. If you set env_override
to true
, both will return spanish
instead.