1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- /**
- *
- * Cube Framework $Id$ f04vcN3k+F0v125Z/hSDEpJ6TqKt5ZBBOTaIsNJtnV0=
- *
- * @link http://codecu.be/framework
- * @copyright Copyright (c) 2015 CodeCube SRL
- * @license http://codecu.be/framework/license Commercial License
- *
- * @version 1.4
- */
- /**
- * controller action helper broker
- */
- namespace Cube\Controller\Action\Helper;
- use Cube\Controller\Action\AbstractAction;
- class Broker
- {
- /**
- *
- * action object
- *
- * @var \Cube\Controller\Action\AbstractAction
- */
- protected $_action;
- /**
- *
- * class constructor
- *
- * @param \Cube\Controller\Action\AbstractAction $action
- */
- public function __construct(AbstractAction $action)
- {
- $this->_action = $action;
- }
- /**
- * get action helper by name
- *
- * @param string $name
- *
- * @throws \InvalidArgumentException
- * @return \Cube\Controller\Action\Helper\AbstractHelper
- */
- public function getHelper($name)
- {
- $className = '\\' . __NAMESPACE__ . '\\' . ucfirst($name);
- if (class_exists($className)) {
- /** @var \Cube\Controller\Action\Helper\AbstractHelper $helper */
- $helper = new $className();
- $helper->setAction($this->_action);
- }
- else {
- throw new \InvalidArgumentException(
- sprintf("The action helper '%s' does not exist.", $className));
- }
- return $helper;
- }
- /**
- * @param string $name
- * @param mixed $arguments
- *
- * @return \Cube\Controller\Action\Helper\AbstractHelper
- */
- public function __call($name, $arguments)
- {
- return $this->getHelper($name);
- }
- }
|