12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- /*
- * This file is part of the symfony package.
- * (c) 2004-2006 Fabien Potencier <fabien.potencier@symfony-project.com>
- * (c) 2004-2006 Sean Kerr <sean@code-box.org>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- /**
- * sfFrontWebController allows you to centralize your entry point in your web
- * application, but at the same time allow for any module and action combination
- * to be requested.
- *
- * @package symfony
- * @subpackage controller
- * @author Fabien Potencier <fabien.potencier@symfony-project.com>
- * @author Sean Kerr <sean@code-box.org>
- * @version SVN: $Id: sfFrontWebController.class.php 7792 2008-03-09 22:06:59Z fabien $
- */
- class sfFrontWebController extends sfWebController
- {
- /**
- * Dispatches a request.
- *
- * This will determine which module and action to use by request parameters specified by the user.
- */
- public function dispatch()
- {
- try
- {
- if (sfConfig::get('sf_logging_enabled'))
- {
- $this->dispatcher->notify(new sfEvent($this, 'application.log', array('Dispatch request')));
- }
- // reinitialize filters (needed for unit and functional tests)
- sfFilter::$filterCalled = array();
- // determine our module and action
- $request = $this->context->getRequest();
- $moduleName = $request->getParameter('module');
- $actionName = $request->getParameter('action');
- if (empty($moduleName) || empty($actionName))
- {
- throw new sfError404Exception(sprintf('Empty module and/or action after parsing the URL "%s" (%s/%s).', $request->getPathInfo(), $moduleName, $actionName));
- }
- // make the first request
- $this->forward($moduleName, $actionName);
- }
- catch (sfException $e)
- {
- $e->printStackTrace();
- }
- catch (Exception $e)
- {
- sfException::createFromException($e)->printStackTrace();
- }
- }
- }
|