本文整理汇总了PHP中Phalcon\Mvc\Dispatcher::dispatch方法的典型用法代码示例。如果您正苦于以下问题:PHP Dispatcher::dispatch方法的具体用法?PHP Dispatcher::dispatch怎么用?PHP Dispatcher::dispatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phalcon\Mvc\Dispatcher
的用法示例。
在下文中一共展示了Dispatcher::dispatch方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testRoutes
/**
* @dataProvider routesProvider
*
* @param $arRoute
* @param $strUri
* @param $strClassName
*/
public function testRoutes($arRoute, $strUri, $strClassName)
{
$this->router->add($arRoute['route'], $arRoute['parameters'])->setName($arRoute['name']);
$this->router->handle($strUri);
$boolMatched = $this->router->wasMatched();
$this->assertTrue($boolMatched, 'failed to match ' . $strUri);
$strRouteName = $this->router->getMatchedRoute()->getName();
$this->assertEquals($arRoute['name'], $strRouteName, 'matched wrong route');
$this->setUpDispatcher();
$this->dispatcher->dispatch();
$strControllerClassName = $this->dispatcher->getControllerClass();
$this->assertEquals($strClassName, $strControllerClassName, 'wrong controller class name');
}
示例2: dispatch
public function dispatch()
{
try {
$controller = parent::dispatch();
} catch (\Exception $e) {
$this->forward($this->exceptionPath);
if (isset($this->exceptionPath['module'])) {
$this->setModuleName($this->exceptionPath['module']);
}
$this->setControllerName($this->exceptionPath['controller']);
$this->setActionName($this->exceptionPath['action']);
/**
* @todo Change to setParam after fix of Zephir's bug
*/
$this->setParams(array('exception' => $e));
return $this->dispatch();
}
/**
* @var $response \Phalcon\Http\Response
*/
$response = $controller->getDI()->get('response');
$response->setJsonContent($this->getReturnedValue());
/**
* @todo Need to fix
*/
$response->send();
exit;
return $controller;
}
示例3: dispatch
/**
* Dispatch.
* Override it to use own logic.
*
* @throws \Exception
* @return object
*/
public function dispatch()
{
try {
$parts = explode('_', $this->_handlerName);
$finalHandlerName = '';
foreach ($parts as $part) {
$finalHandlerName .= ucfirst($part);
}
$this->_handlerName = $finalHandlerName;
$this->_actionName = strtolower($this->_actionName);
return parent::dispatch();
} catch (\Exception $e) {
$this->_handleException($e);
if (ENV == ENV_DEVELOPMENT) {
throw $e;
} else {
$id = Exception::logError('Exception', $e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString());
$this->getDI()->setShared('currentErrorCode', function () use($id) {
return $id;
});
}
}
return parent::dispatch();
}
示例4: Router
<?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;