# Configurable

> Configurable is the interface that should be implemented by classes who support configuring its properties through the last parameter to its constructor.

[API reference](/docs/api/index.md) › [yii](/docs/api/yii/index.md) › [base](/docs/api/yii/base/index.md) › Configurable

| interface | `yii\base\Configurable` |
| --- | --- |
| Since | 2.0.3 |
| Source | [`framework/base/Configurable.php`](https://github.com/yiisoft/yii2/blob/22.0/framework/base/Configurable.php#L32) |

Implemented by 1 type:

- [`BaseObject`](/docs/api/yii/base/baseobject/index.md)

Configurable is the interface that should be implemented by classes who support configuring
its properties through the last parameter to its constructor.

The interface does not declare any method. Classes implementing this interface must declare their constructors
like the following:

```
public function __construct($param1, $param2, ..., $config = [])
```

That is, the last parameter of the constructor must accept a configuration array.

This interface is mainly used by [`Container`](/docs/api/yii/di/container/index.md) so that it can pass object configuration as the
last parameter to the implementing class' constructor.

For more details and usage information on Configurable, see the [guide article on configurations](/docs/guide/concept-configurations/index.md).