Skip to content

Config ​

Type
Class
Namespace
craft\services
Inherits
craft\services\Config » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.0.0

The Config service provides APIs for retrieving the values of Craft’s config settings, as well as the values of any plugins’ config settings.

An instance of the service is available via Craft::$app->config.

View source

Public Properties ​

PropertyDescription
appDefaultsDirstring – The path to the directory containing the default application config settings
appTypestring – The application type (web or console).
behaviorsyii\base\Behavior – List of behaviors attached to this component.
configDirstring – The path to the config directory
customobject – the custom config settings
dbcraft\config\DbConfig – the DB config settings
dotEnvPathstring
envstring, null – The environment ID Craft is currently running in.
generalcraft\config\GeneralConfig – the general config settings
loadingConfigFilestring, null

appDefaultsDir ​

Type
string
Default value
''

The path to the directory containing the default application config settings

View source

appType ​

Type
string
Default value
null

The application type (web or console).

View source

configDir ​

Type
string
Default value
''

The path to the config directory

View source

custom ​

Type
object
Default value
null

the custom config settings

View source

db ​

Type
craft\config\DbConfig
Default value
null

the DB config settings

View source

dotEnvPath ​

Type
string
Default value
null
Access
Read-only

View source

env ​

Type
string, null
Default value
null

The environment ID Craft is currently running in.

View source


Example ​

php
$env = Craft::$app->config->env;
twig
{% if craft.app.config.env == 'production' %}
  {% include "_includes/ga" %}
{% endif %}

general ​

Type
craft\config\GeneralConfig
Default value
null

the general config settings

View source

loadingConfigFile ​

Type
string, null
Default value
null
Access
Read-only
Since
4.2.0

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getConfigFilePath()Returns the path to a config file.
getConfigFromFile()Loads a config file from the config/ folder, checks if it's a multi-environment config, and returns the values.
getConfigSettings()Returns all of the config settings for a given category.
getCustom()Returns the custom config settings.
getDb()Returns the DB config settings.
getDotEnvPath()Returns the path to the .env file (regardless of whether it exists).
getGeneral()Returns the general config settings.
getLoadingConfigFile()Returns the config filename currently being loaded.
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
setBooleanDotEnvVar()Sets a boolean environment variable value in the project's .env file.
setDotEnvVar()Sets an environment variable value in the project's .env file.
trigger()Triggers an event.

getConfigFilePath() ​

Returns the path to a config file.

View source

Arguments ​

  • $filename (string) – The filename (sans .php extension)

Returns ​

string

getConfigFromFile() ​

Loads a config file from the config/ folder, checks if it's a multi-environment config, and returns the values.

View source

Arguments ​

Returns ​

array, callable, craft\config\BaseConfig


Example ​

php
// get the values defined in config/foo.php
$settings = Craft::$app->config->getConfigFromFile('foo');

getConfigSettings() ​

Returns all of the config settings for a given category.

View source

Arguments ​

  • $category (string) – The config category

Returns ​

object – The config settings

Throws ​

getCustom() ​

Since
4.0.0

Returns the custom config settings.

View source

Returns ​

object


Example ​

php
$myCustomSetting = Craft::$app->config->custom->myCustomSetting;
twig
{% set myCustomSetting = craft.app.config.custom.myCustomSetting %}

getDb() ​

Returns the DB config settings.

View source

Returns ​

craft\config\DbConfig


Example ​

php
$username = Craft::$app->config->db->username;
twig
{% set username = craft.app.config.db.username %}

getDotEnvPath() ​

Returns the path to the .env file (regardless of whether it exists).

View source

Returns ​

string

getGeneral() ​

Returns the general config settings.

View source

Returns ​

craft\config\GeneralConfig


Example ​

php
$logoutPath = Craft::$app->config->general->logoutPath;
twig
<a href="{{ url(craft.app.config.general.logoutPath) }}">
  Logout
</a>

getLoadingConfigFile() ​

Since
4.2.0

Returns the config filename currently being loaded.

View source

Returns ​

string, null

setBooleanDotEnvVar() ​

Since
3.7.24

Sets a boolean environment variable value in the project's .env file.

If the environment variable is already set to a boolean-esque value, its counterpart will be used. For example, if true is passed and the current value is no, the variable will be set to yes.

View source

Arguments ​

  • $name (string) – The environment variable name
  • $value (boolean) – The environment variable value

Throws ​

setDotEnvVar() ​

Sets an environment variable value in the project's .env file.

View source

Arguments ​

  • $name (string) – The environment variable name
  • $value (string, false) – The environment variable value, or false if it should be removed.

Throws ​

Constants ​

ConstantDescription
CATEGORY_CUSTOM
CATEGORY_DB
CATEGORY_GENERAL