diff options
| author | Patrick Seeger <pseeger@ccwn.org> | 2012-04-13 23:11:05 +0200 |
|---|---|---|
| committer | Patrick Seeger <pseeger@ccwn.org> | 2012-04-13 23:11:05 +0200 |
| commit | 341cc4dd9c53ffbfb863e026dd58549c1082c7a7 (patch) | |
| tree | 1bbbed20313bafb9b063b6b4d894fe580d8b000f /framework/web/CExtController.php | |
Diffstat (limited to 'framework/web/CExtController.php')
| -rw-r--r-- | framework/web/CExtController.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/framework/web/CExtController.php b/framework/web/CExtController.php new file mode 100644 index 0000000..987d1ae --- /dev/null +++ b/framework/web/CExtController.php @@ -0,0 +1,54 @@ +<?php +/** + * CExtController class file. + * + * @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/ + */ + + +/** + * CExtController is the base class for controllers distributed as extension. + * + * The main purpose of CExtController is to redefine the {@link viewPath} property + * so that it points to the "views" subdirectory under the directory containing + * the controller class file. + * + * @property string $viewPath The directory containing the view files for this controller. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @version $Id: CExtController.php 3515 2011-12-28 12:29:24Z mdomba $ + * @package system.web + * @since 1.0 + */ +class CExtController extends CController +{ + private $_viewPath; + + /** + * Returns the directory containing view files for this controller. + * This method overrides the parent implementation by specifying the view path + * to be the "views" subdirectory under the directory containing the controller + * class file. + * @return string the directory containing the view files for this controller. + */ + public function getViewPath() + { + if($this->_viewPath===null) + { + $class=new ReflectionClass(get_class($this)); + $this->_viewPath=dirname($class->getFileName()).DIRECTORY_SEPARATOR.'views'; + } + return $this->_viewPath; + } + + /** + * @param string $value the directory containing the view files for this controller. + */ + public function setViewPath($value) + { + $this->_viewPath=$value; + } +} |
