* (c) 2004-2006 Sean Kerr * * 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 * @author Sean Kerr * @version SVN: $Id: sfFrontWebController.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $ */ 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 { // 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(); } } }