diff options
Diffstat (limited to 'framework/base/CApplicationComponent.php')
| -rw-r--r-- | framework/base/CApplicationComponent.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/framework/base/CApplicationComponent.php b/framework/base/CApplicationComponent.php new file mode 100644 index 0000000..d5b68fa --- /dev/null +++ b/framework/base/CApplicationComponent.php @@ -0,0 +1,58 @@ +<?php +/** + * This file contains the base application component class. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @link http://www.yiiframework.com/ + * @copyright Copyright © 2008-2011 Yii Software LLC + * @license http://www.yiiframework.com/license/ + */ + +/** + * CApplicationComponent is the base class for application component classes. + * + * CApplicationComponent implements the basic methods required by {@link IApplicationComponent}. + * + * When developing an application component, try to put application component initialization code in + * the {@link init()} method instead of the constructor. This has the advantage that + * the application component can be customized through application configuration. + * + * @property boolean $isInitialized Whether this application component has been initialized (ie, {@link init()} is invoked). + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @version $Id: CApplicationComponent.php 3515 2011-12-28 12:29:24Z mdomba $ + * @package system.base + * @since 1.0 + */ +abstract class CApplicationComponent extends CComponent implements IApplicationComponent +{ + /** + * @var array the behaviors that should be attached to this component. + * The behaviors will be attached to the component when {@link init} is called. + * Please refer to {@link CModel::behaviors} on how to specify the value of this property. + */ + public $behaviors=array(); + + private $_initialized=false; + + /** + * Initializes the application component. + * This method is required by {@link IApplicationComponent} and is invoked by application. + * If you override this method, make sure to call the parent implementation + * so that the application component can be marked as initialized. + */ + public function init() + { + $this->attachBehaviors($this->behaviors); + $this->_initialized=true; + } + + /** + * Checks if this application component bas been initialized. + * @return boolean whether this application component has been initialized (ie, {@link init()} is invoked). + */ + public function getIsInitialized() + { + return $this->_initialized; + } +} |
