Skip to content
This repository has been archived by the owner on Mar 6, 2023. It is now read-only.

Commit

Permalink
#58 - right configuring
Browse files Browse the repository at this point in the history
  • Loading branch information
nizsheanez committed Sep 22, 2012
1 parent 2976845 commit 167a711
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 24 deletions.
1 change: 1 addition & 0 deletions protected/config/console.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
),
'doc-block' => array(
'class' => 'ext.docBlock.DocBlockCommand',
'config' => '2122'
),
),
));
48 changes: 25 additions & 23 deletions protected/extensions/docBlock/DocBlockCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,43 @@ class DocBlockCommand extends CConsoleCommand
public $config;
public $interactive = false;

public $baseClass = 'CComponent';
public $filesIterator;
public $propertyIteratorOptions;
public $propertyOptions;
public $methodOptions;
public $messageSource;
protected $baseClass = 'CComponent';
protected $filesIterator;
protected $propertyIteratorOptions;
protected $propertyOptions;
protected $methodOptions;
protected $messageSource;
protected $alias;

protected $_alias;


/**
* Import all needed classes
*/
public function init()
public function __construct($name, $runner)
{
//non conflicting alias
$this->_alias = md5(__DIR__);
Yii::setPathOfAlias($this->_alias, __DIR__);
$alias = md5(__DIR__);
Yii::setPathOfAlias($alias, __DIR__);

//configuring
$baseConfigPath = Yii::getPathOfAlias($this->_alias . '.configs.');
$baseConfigs = require $baseConfigPath . '/stdConfig.php'; //require in this namespace for access to $this->_alias
$config = new CConfiguration($baseConfigs);
if ($this->config) {
$config->loadFromFile($baseConfigPath . '/' . $this->config . '.php');
$configPath = Yii::getPathOfAlias($alias . '.configs');
$config = new CConfiguration(array(
'alias' => $alias
));
$config->loadFromFile($configPath . '/stdConfig.php'); //base config
if ($this->config) //apply additional config if set
{
$config->loadFromFile($configPath . '/' . $this->config . '.php');
}
foreach ($config as $key => $val)
{
$this->$key = $val;
}
$config->applyTo($this);

//do import
Yii::import($this->_alias . '.*', true);
Yii::import($this->_alias . '.iterators.*', true);
Yii::import($alias . '.*', true);
Yii::import($alias . '.iterators.*', true);

//set translaitor
Yii::app()->setComponent('docBlockMessage', Yii::createComponent($this->messageSource));
parent::init();
parent::__construct($name, $runner);
}


Expand Down
2 changes: 1 addition & 1 deletion protected/extensions/docBlock/configs/stdConfig.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@
),
'messageSource' => array(
'class' => 'CPhpMessageSource',
'basePath' => Yii::getPathOfAlias($this->_alias . '.messages')
'basePath' => Yii::getPathOfAlias($this['alias'] . '.messages')
)
);

0 comments on commit 167a711

Please sign in to comment.