private function setUpDispatcher() { $this->dispatcher->setControllerName($this->router->getControllerName()); $this->dispatcher->setActionName($this->router->getActionName()); $this->dispatcher->setParams($this->router->getParams()); $oDispatcherEventManager = new Manager(); $oDispatcherEventManager->attach('dispatch:beforeDispatch', function (Event $oEvent, Dispatcher $oDispatcher, $data) { return false; }); $this->dispatcher->setEventsManager($oDispatcherEventManager); }
public function setActionName($actionName) { /** @var \Phalcon\Http\Request $request */ $request = $this->getDI()->get('request'); $actionName = strtolower($request->getMethod()); parent::setActionName($actionName); }
/** * Sets the test up by loading the DI container and other stuff * * @return Phalcon\DI */ protected function setUp() { parent::setUp(); // Set the dispatcher $this->di->set('dispatcher', function () { $dispatcher = new PhDispatcher(); $dispatcher->setControllerName('test'); $dispatcher->setActionName('empty'); $dispatcher->setParams(array()); return $dispatcher; }); $this->di->set('escaper', function () { return new PhEscaper(); }); }
/** * Sets the test up by loading the DI container and other stuff * * @param \Phalcon\DiInterface $di * @param \Phalcon\Config $config * @return void */ protected function setUp(\Phalcon\DiInterface $di = null, \Phalcon\Config $config = null) { parent::setUp($di, $config); // Set the dispatcher $this->di->setShared('dispatcher', function () { $dispatcher = new PhDispatcher(); $dispatcher->setControllerName('test'); $dispatcher->setActionName('empty'); $dispatcher->setParams(array()); return $dispatcher; }); $this->di->set('escaper', function () { return new PhEscaper(); }); if ($this->di instanceof \Phalcon\DiInterface) { $this->application = new PhApplication($this->di); } }
/** * This method is called before a test is executed. */ protected function setUp() { parent::setUp(); // Set the dispatcher $this->di->setShared('dispatcher', function () { $dispatcher = new PhDispatcher(); $dispatcher->setControllerName('test'); $dispatcher->setActionName('empty'); $dispatcher->setParams([]); return $dispatcher; }); $this->di->set('escaper', function () { return new PhEscaper(); }); if ($this->di instanceof DiInterface) { $this->application = new PhApplication($this->di); } }
/** * This action is executed before execute any action in the application */ public function beforeDispatch(Event $event, Dispatcher $dispatcher) { $role = $this->getActiveRole(); $allowed = $this->getAcl()->isAllowed($role, $dispatcher->getControllerName(), $dispatcher->getActionName()); if ($allowed != Acl::ALLOW) { $this->flash->error("No Tienes acceso a este Modulo " . $dispatcher->getActionName() . " on " . $dispatcher->getModuleName() . " module"); /* $dispatcher->forward( array( 'controller' => 'index', 'action' => 'index' ) ); */ $dispatcher->setActionName('nonexistaction'); header('location:/401'); } }
<?php /** * Created by PhpStorm. * User: rcmonitor * Date: 07.07.15 * Time: 15:46 */ use Phalcon\Di; use Phalcon\Events\Manager; use Phalcon\Mvc\Dispatcher; use Phalcon\Mvc\Router; use Phalcon\Version; $di = new Di\FactoryDefault(); $oRouter = new Router(false); $oRouter->setDI($di); $oRouter->add('/:controller', array('controller' => 1, 'action' => 'index')); $oEventManager = new Manager(); $oEventManager->attach('dispatch:beforeDispatch', function () { return false; }); $oDispatcher = new Dispatcher(); $oDispatcher->setDI($di); $oDispatcher->setEventsManager($oEventManager); $oRouter->handle('/test'); $oDispatcher->setControllerName($oRouter->getControllerName()); $oDispatcher->setActionName($oRouter->getActionName()); $oDispatcher->dispatch(); echo $oDispatcher->getControllerClass() . PHP_EOL; echo Version::get() . PHP_EOL;