32 lines
915B

  1. <?php
  2. /**
  3. * @link http://www.yiiframework.com/
  4. * @copyright Copyright (c) 2008 Yii Software LLC
  5. * @license http://www.yiiframework.com/license/
  6. */
  7. namespace yii\base;
  8. /**
  9. * Configurable is the interface that should be implemented by classes who support configuring
  10. * its properties through the last parameter to its constructor.
  11. *
  12. * The interface does not declare any method. Classes implementing this interface must declare their constructors
  13. * like the following:
  14. *
  15. * ```php
  16. * public function __constructor($param1, $param2, ..., $config = [])
  17. * ```
  18. *
  19. * That is, the last parameter of the constructor must accept a configuration array.
  20. *
  21. * This interface is mainly used by [[\yii\di\Container]] so that it can pass object configuration as the
  22. * last parameter to the implementing class' constructor.
  23. *
  24. * @author Qiang Xue <qiang.xue@gmail.com>
  25. * @since 2.0.3
  26. */
  27. interface Configurable
  28. {
  29. }