本文整理汇总了PHP中Phalcon\Mvc\Dispatcher::setControllerName方法的典型用法代码示例。如果您正苦于以下问题:PHP Dispatcher::setControllerName方法的具体用法?PHP Dispatcher::setControllerName怎么用?PHP Dispatcher::setControllerName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phalcon\Mvc\Dispatcher
的用法示例。
在下文中一共展示了Dispatcher::setControllerName方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUpDispatcher
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);
}
示例2: beforeDispatchLoop
public function beforeDispatchLoop($event, Dispatcher $dispatcher)
{
$resolver = di('resolver');
$dispatcher->setControllerName($resolver->run('dispatch:controller', function () {
$router = di('router');
$moduleName = $router->getModuleName();
$ctlName = ucfirst($router->getControllerName());
return "\\App\\Modules\\{$moduleName}\\Controllers\\{$ctlName}";
}));
}
示例3: setUp
/**
* 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();
});
}
示例4: setUp
/**
* 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);
}
}
示例5: setUp
/**
* 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);
}
}
示例6: register
/**
* Initializes dispatcher
*/
public function register()
{
$di = $this->getDi();
$eventsManager = $this->getEventsManager();
$config = $this->_config;
$defaultModuleDir = $this->_module->getDefaultModuleDirectory();
$di->set('defualtModuleDir', function () use($defaultModuleDir) {
return $defaultModuleDir;
});
$moduleDirectory = $this->_module->getModuleDirectory();
$di->set('moduleDirectory', function () use($moduleDirectory) {
return $moduleDirectory;
});
$di->set('dispatcher', function () use($di, $eventsManager, $config) {
// Create dispatcher
$dispatcher = new MvcDispatcher();
//Attach a listener
$eventsManager->attach("dispatch:beforeException", function ($event, \Phalcon\Mvc\Dispatcher $dispatcher, $exception) use($di, $config) {
if ($config->application->debug && $di->has('logger')) {
$logger = $di->get('logger');
$logger->error($exception->getMessage());
}
//Handle 404 exceptions
if ($exception instanceof DispatchException) {
$dispatcher->forward(['controller' => 'error', 'action' => 'show404']);
return false;
}
if ($di->get('request')->isAjax() == true) {
}
//Handle other exceptions
$dispatcher->forward(['controller' => 'error', 'action' => 'show503']);
return false;
});
$eventsManager->attach("dispatch:beforeDispatchLoop", function ($event, \Phalcon\Mvc\Dispatcher $dispatcher) {
$dispatcher->setControllerName(\Phalcon\Text::lower($dispatcher->getControllerName()));
});
$dispatcher->setEventsManager($eventsManager);
return $dispatcher;
});
}
示例7: 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;