public function init()
{
parent::init();
if ($this->parser === null) {
$this->_p = Yii::createObject(['class' => DefaultArrayParser::className()]);
} elseif ($this->parser === false) {
$this->_p = null;
} elseif (is_array($this->parser)) {
$this->_p = Yii::createObject($this->parser);
} elseif (is_string($this->parser)) {
$this->_p = Yii::$app->get($this->parser);
} elseif (is_object($this->parser)) {
$this->_p = $this->parser;
} else {
throw new InvalidConfigException('invalid "parser" attribute : string or array expected');
}
if ($this->_p !== null && !$this->_p instanceof WorkflowArrayParser) {
throw new InvalidConfigException('the parser component must implement the WorkflowArrayParser interface');
}
}