Skip to content

EnvAttributeParserBehavior ​

Type
Class
Namespace
craft\behaviors
Inherits
craft\behaviors\EnvAttributeParserBehavior » yii\base\Behavior » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.1.0

EnvAttributeParserBehavior can be applied to models with attributes that can be set to either environment variables ($VARIABLE_NAME) or aliases (@aliasName).


php
public function behaviors(): array
{
    return [
        'parser' => [
            'class' => EnvAttributeParserBehavior::class,
            'attributes' => ['attr1', 'attr2', '...'],
        ],
    ];
}

View source

Public Properties ​

PropertyDescription
attributesstring[], callable[] – The attributes names that can be set to environment variables ($VARIABLE_NAME) and/or aliases (@aliasName).
owneryii\base\Model

attributes ​

Type
string[], callable[]
Default value
[]

The attributes names that can be set to environment variables ($VARIABLE_NAME) and/or aliases (@aliasName).

If the raw (unparsed) attribute value can’t be obtained from the attribute directly ($model->foo), then the attribute name should be specified as an array key instead, and the value should be set to the raw value, or a callable that returns the raw value. For example:

php
'attributes' => [
    'foo' => '$FOO',
    'bar' => function() {
        return $this->_bar;
    },
],

View source

owner ​

Type
yii\base\Model
Default value
null

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__construct()Constructor.
__get()Returns the value of an object property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets value of an object property.
__unset()Sets an object property to null.
afterValidate()Restores the original attribute values after validation occurs.
attach()Attaches the behavior object to the component.
beforeValidate()Replaces attribute values before validation occurs.
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.
detach()Detaches the behavior object from the component.
events()Declares event handlers for the owner's events.
getUnparsedAttribute()Returns the original value of an attribute, or null if it wasn’t set to an environment variable or alias.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined.
init()Initializes the object.

afterValidate() ​

Restores the original attribute values after validation occurs.

View source

beforeValidate() ​

Replaces attribute values before validation occurs.

View source

events() ​

Declares event handlers for the owner's events.

Child classes may override this method to declare what PHP callbacks should be attached to the events of the owner component.

The callbacks will be attached to the owner's events when the behavior is attached to the owner; and they will be detached from the events when the behavior is detached from the component.

The callbacks can be any of the following:

  • method in this behavior: 'handleClick', equivalent to [$this, 'handleClick']
  • object method: [$object, 'handleClick']
  • static method: ['Page', 'handleClick']
  • anonymous function: function ($event) { ... }

The following is an example:

php
[
    Model::EVENT_BEFORE_VALIDATE => 'myBeforeValidate',
    Model::EVENT_AFTER_VALIDATE => 'myAfterValidate',
]

View source

Returns ​

array – Events (array keys) and the corresponding event handler methods (array values).

getUnparsedAttribute() ​

Returns the original value of an attribute, or null if it wasn’t set to an environment variable or alias.

View source

Arguments ​

Returns ​

string, null