コード例 #1
0
ファイル: Bootstrap.php プロジェクト: MossesX/mongo-cms
 /**
  * Routes initialization
  *
  * @return Zend_Controller_Router
  */
 protected function _initRoutes()
 {
     $this->bootstrapOptions();
     $router = new \Zend_Controller_Router_Rewrite();
     foreach (\NS\Service\AbstractService::getConfig() as $module => $config) {
         if ($config->routes) {
             foreach ($config->routes as $r => $routeConfig) {
                 $router->addRoute($module . '_' . $r, \Zend_Controller_Router_Route::getInstance($routeConfig));
             }
         }
     }
     \Zend_Controller_Front::getInstance()->setRouter($router);
     return $router;
 }
コード例 #2
0
 public function getRouter()
 {
     $router = new Zend_Controller_Router_Rewrite();
     $router->addRoute('foo', new Zend_Controller_Router_Route_Static('/foo/bar', array()));
     return $router;
 }
コード例 #3
0
ファイル: routes.php プロジェクト: josephholsten/swaplady
// http://example.com/
// -> controller => index
//    action     => index
//    params     => array()
// http://example.com/user
// -> controller => user
//    action     => index
//    params     => array()
// http://example.com/user/new
// -> controller => user
//    action     => new
//    params     => array()
// http://example.com/user/show/id/1/name/adam
// -> controller => user
//    action     => show
//    params     => array('id'=>1, 'name'=>'adam)
// More complicated routing is available through the RewriteRouter
$router = new Zend_Controller_Router_Rewrite();
// RewriteRouter automatically provides the following route:
// $this->addRoute('default',
//     new Zend_Controller_Router_Route(':controller/:action/*',
//     array('controller' => 'index', 'action' => 'index')));
// If want this, comment the following line
// $router->removeDefaultRoutes();
$router->addRoute('build', new Zend_Controller_Router_Route('build', array('controller' => 'search', 'action' => 'build')));
$router->addRoute('newSearch', new Zend_Controller_Router_Route('search', array('controller' => 'search', 'action' => 'new')));
$router->addRoute('showSearch', new Zend_Controller_Router_Route('search/:q', array('controller' => 'search', 'action' => 'show')));
$router->addRoute('tagIndex', new Zend_Controller_Router_Route('tag', array('controller' => 'tag', 'action' => 'index')));
$router->addRoute('tagShow', new Zend_Controller_Router_Route('tag/:tag', array('controller' => 'tag', 'action' => 'show')));
$router->addRoute('standard', new Zend_Controller_Router_Route(':controller/:action/:id'));
Zend_Registry::set('router', $router);
コード例 #4
0
 /**
  * @throws Zend_Controller_Router_Exception
  */
 public function testMultipleChainsResettingPathInfoInSegmentBlock()
 {
     $foo = new Zend_Controller_Router_Route_SubclassTest('notfoo');
     $bar = new Zend_Controller_Router_Route_SubclassTest('bar', array('baz' => 'no'));
     $chain = $foo->chain($bar);
     $static = new Zend_Controller_Router_Route_SimpleSubclassTest('/foo', array('foo' => 'foo'));
     $rewrite = new Zend_Controller_Router_Rewrite();
     $rewrite->addRoute('static', $static);
     // First In Last Out, we want this to be matched against second
     $rewrite->addRoute('chain', $chain);
     $request = new Zend_Controller_Router_ChainTest_Request('http://www.zend.com/foo');
     $res = $rewrite->route($request);
     $this->assertEquals('foo', $res->getParam('foo'), 'Route did not match');
     $this->assertEquals('static', $rewrite->getCurrentRouteName(), 'Routing did not match expected route');
 }
コード例 #5
0
ファイル: index.php プロジェクト: laiello/workout
require_once 'Zend/Controller/Router/Route.php';
require_once 'Zend/Registry.php';
require_once 'Zend/Config.php';
require_once 'Zend/Db.php';
require_once 'Zend/Db/Adapter/Pdo/Mysql.php';
Zend_Loader::loadClass('Zend_Config_Ini');
Zend_Loader::loadClass('Zend_Db');
Zend_Loader::loadClass('Zend_Db_Table');
// load configuration
$config = new Zend_Config_Ini('../application/config.ini', 'general');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);
// setup database
$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);
$router = new Zend_Controller_Router_Rewrite();
$route1 = new Zend_Controller_Router_Route('workout/:id', array('controller' => 'workout', 'action' => 'index'));
$route2 = new Zend_Controller_Router_Route('workout/:id/:date', array('controller' => 'workout', 'action' => 'index'));
$user = new Zend_Controller_Router_Route('users/:id', array('controller' => 'Users', 'action' => 'index'));
$router->addRoute('workout', $route1);
$router->addRoute('workout2', $route2);
$router->addRoute('users', $user);
/**
 * Setup controller
 */
$controller = Zend_Controller_Front::getInstance();
$controller->setControllerDirectory('../application/default/controllers')->setRouter($router);
/*->setBaseUrl('api/');*/
$controller->throwExceptions(false);
// should be turned on in development time
$controller->dispatch();
コード例 #6
0
ファイル: bootstrap.php プロジェクト: hukumonline/zfurl
<?php

$environment = 'development';
// application/bootstrap.php
//
// Step 1: APPLICATION CONSTANTS - Set the constants to use in this application.
// These constants are accessible throughout the application, even in ini
// files. We optionally set APPLICATION_PATH here in case our entry point
// isn't index.php (e.g., if required from our test suite or a script).
defined('APPLICATION_PATH') or define('APPLICATION_PATH', dirname(__FILE__));
defined('APPLICATION_ENVIRONMENT') or define('APPLICATION_ENVIRONMENT', 'development');
$router = new Zend_Controller_Router_Rewrite();
//$route = new Zend_Controller_Router_Route(
$route = new Zend_Controller_Router_Route_Regex('([A-Fa-f0-9]+)', array('controller' => 'url', 'action' => 'redirect'), array('urlid' => 1));
$router->addRoute('index', $route);
// Step 2: FRONT CONTROLLER - Get the front controller.
// The Zend_Front_Controller class implements the Singleton pattern, which is a
// design pattern used to ensure there is only one instance of
// Zend_Front_Controller created on each request.
$frontController = Zend_Controller_Front::getInstance();
// Step 3: CONTROLLER DIRECTORY SETUP - Point the front controller to your action
// controller directory.
$frontController->setControllerDirectory(APPLICATION_PATH . '/controllers');
// Step 4: APPLICATION ENVIRONMENT - Set the current environment.
// Set a variable in the front controller indicating the current environment --
// commonly one of development, staging, testing, production, but wholly
// dependent on your organization's and/or site's needs.
$frontController->setParam('env', APPLICATION_ENVIRONMENT);
$frontController->setRouter($router);
// LAYOUT SETUP - Setup the layout component
// The Zend_Layout component implements a composite (or two-step-view) pattern
コード例 #7
0
ファイル: routes.php プロジェクト: albertobraschi/zstarter
<?php

$router = new Zend_Controller_Router_Rewrite();
//$router->removeDefaultRoutes();
$cnf = Zend_Registry::get('cnf');
$db = Zend_Db::factory($cnf->db);
$select = $db->query("\r\n\tselect\r\n\t\tsu.Name AS Name,\r\n\t\tsm.Controller AS Controller,\r\n\t\tCONCAT(sm.Module,'\\/',sm.Controller,'\\/?',su.URL_regexp) AS URL_regexp,\r\n\t\tsu.URL_vars AS URL_vars,\r\n\t\tsu.Action AS Action,\r\n\t\tsm.Module AS Module\r\n\tfrom\r\n\t\tadmin_menu sm,\r\n\t\tadmin_urls su\r\n\twhere\r\n\t\tsm.ID=su.Menu_id\r\n\t\tand sm.Hidden=0\r\n");
$menu = $select->fetchAll();
for ($i = 0; $i < count($menu); $i++) {
    $vars = array();
    $d = explode(",", $menu[$i]['URL_vars']);
    for ($j = 0; $j < count($d); $j += 2) {
        $vars[$d[$j]] = (int) $d[$j + 1];
    }
    $router->addRoute($menu[$i]['Name'], new Zend_Controller_Router_Route_Regex("^" . $menu[$i]['URL_regexp'] . "\$", array('module' => $menu[$i]['Module'], 'controller' => $menu[$i]['Controller'], 'action' => $menu[$i]['Action']), $vars));
}
コード例 #8
0
ファイル: Router.php プロジェクト: lchen01/STEdwards
 /**
  * Adds a redirect route for the homepage.
  *
  * A redirect is required to make a "homepage" that is an external URL, an
  * admin URL, or a URL with a query string.
  *
  * @param string $uri The absolute uri to redirect to the default route to
  * @param Zend_Controller_Router_Rewrite $router The router
  * @return boolean True if the route was successfully added, else false.
  */
 protected function _addHomepageRedirect($uri, $router)
 {
     // Handle possible internal links by stripping the base URL
     $uri = $this->_leftTrim($uri, PUBLIC_BASE_URL);
     if ($uri == '' || $uri == '/' || strpos($uri, '?') === 0 || strpos($uri, '/?') === 0) {
         return false;
     }
     $router->addRoute(self::HOMEPAGE_ROUTE_NAME, new Zend_Controller_Router_Route('/', array('controller' => 'redirector', 'action' => 'index', 'redirect_uri' => $uri)));
     return true;
 }
コード例 #9
0
ファイル: Routes.php プロジェクト: robinmbarnes/EasyCMS
 public static function addAdminRoutes(Zend_Controller_Router_Rewrite $router)
 {
     //Dashboard
     $route = new Zend_Controller_Router_Route('/admin', array('module' => 'admin', 'controller' => 'index', 'action' => 'index'));
     $router->addRoute('admin_index', $route);
     //Folder
     $route = new Zend_Controller_Router_Route('/admin/folder/:folder_id', array('module' => 'admin', 'controller' => 'folder', 'action' => 'view'));
     $router->addRoute('admin_view_folder', $route);
     $route = new Zend_Controller_Router_Route('/admin/folder/', array('module' => 'admin', 'controller' => 'folder', 'action' => 'view'));
     $router->addRoute('admin_view_root_folder', $route);
     $route = new Zend_Controller_Router_Route('/admin/folder/:folder_id/create', array('module' => 'admin', 'controller' => 'folder', 'action' => 'create'));
     $router->addRoute('admin_create_folder', $route);
     $route = new Zend_Controller_Router_Route('/admin/folder/:folder_id/delete', array('module' => 'admin', 'controller' => 'folder', 'action' => 'delete'));
     $router->addRoute('admin_delete_folder', $route);
     //Template
     $route = new Zend_Controller_Router_Route('/admin/template', array('module' => 'admin', 'controller' => 'template', 'action' => 'viewAll'));
     $router->addRoute('admin_view_templates', $route);
     $route = new Zend_Controller_Router_Route('/admin/template/create', array('module' => 'admin', 'controller' => 'template', 'action' => 'create'));
     $router->addRoute('admin_create_template', $route);
     $route = new Zend_Controller_Router_Route('/admin/template/:template_id/delete', array('module' => 'admin', 'controller' => 'template', 'action' => 'delete'));
     $router->addRoute('admin_delete_template', $route);
     //File
     $route = new Zend_Controller_Router_Route('/admin/foler/:folder_id/file/create', array('module' => 'admin', 'controller' => 'file', 'action' => 'create'));
     $router->addRoute('admin_create_file', $route);
     $route = new Zend_Controller_Router_Route('/admin/file/:file_id/delete', array('module' => 'admin', 'controller' => 'file', 'action' => 'delete'));
     $router->addRoute('admin_delete_file', $route);
     //Page
     $route = new Zend_Controller_Router_Route('/admin/folder/:folder_id/page/create', array('module' => 'admin', 'controller' => 'page', 'action' => 'create'));
     $router->addRoute('admin_create_page', $route);
     $route = new Zend_Controller_Router_Route('/admin/page/:page_id/delete', array('module' => 'admin', 'controller' => 'page', 'action' => 'delete'));
     $router->addRoute('admin_delete_page', $route);
     $route = new Zend_Controller_Router_Route('/admin/page/:page_id/edit', array('module' => 'admin', 'controller' => 'page', 'action' => 'edit'));
     $router->addRoute('admin_edit_page', $route);
     $route = new Zend_Controller_Router_Route('/admin/page/:page_id/render-for-edit', array('module' => 'admin', 'controller' => 'page', 'action' => 'renderForEdit'));
     $router->addRoute('admin_render_for_edit_page', $route);
     $route = new Zend_Controller_Router_Route('/admin/page/:page_id/save-sections', array('module' => 'admin', 'controller' => 'page', 'action' => 'saveSections'));
     $router->addRoute('admin_save_page_sections', $route);
     //Setup
     $route = new Zend_Controller_Router_Route('/setup/site-config', array('module' => 'admin', 'controller' => 'setup', 'action' => 'siteConfig'));
     $router->addRoute('admin_setup_site_config', $route);
     //User
     $route = new Zend_Controller_Router_Route('/admin/user', array('module' => 'admin', 'controller' => 'user', 'action' => 'viewAll'));
     $router->addRoute('admin_view_users', $route);
     $route = new Zend_Controller_Router_Route('/admin/user/create', array('module' => 'admin', 'controller' => 'user', 'action' => 'create'));
     $router->addRoute('admin_create_user', $route);
     $route = new Zend_Controller_Router_Route('/admin/user/edit/:user_id', array('module' => 'admin', 'controller' => 'user', 'action' => 'edit'));
     $router->addRoute('admin_edit_user', $route);
     $route = new Zend_Controller_Router_Route('/admin/user/:user_id/delete', array('module' => 'admin', 'controller' => 'user', 'action' => 'delete'));
     $router->addRoute('admin_delete_user', $route);
     $route = new Zend_Controller_Router_Route('/admin/user/login', array('module' => 'admin', 'controller' => 'user', 'action' => 'login'));
     $router->addRoute('admin_login_user', $route);
     $route = new Zend_Controller_Router_Route('/admin/user/logout', array('module' => 'admin', 'controller' => 'user', 'action' => 'logout'));
     $router->addRoute('admin_logout_user', $route);
 }
コード例 #10
0
ファイル: index.php プロジェクト: VampireMe/ZendPro
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'), get_include_path())));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
//**************** 自定义部分 Start *********************//
require_once APPLICATION_PATH . '/modules/admin/controllers/BaseController.php';
require_once APPLICATION_PATH . '/modules/home/controllers/BaseController.php';
//定义当前 public 所在的路径
defined("PUBLIC_PATH") || define("PUBLIC_PATH", realpath(dirname(__FILE__)));
$front = Zend_Controller_Front::getInstance();
//设定后台模块
$front->addModuleDirectory(APPLICATION_PATH . '/modules');
$front->setDefaultModule("home");
$router = new Zend_Controller_Router_Rewrite();
$route = new Zend_Controller_Router_Route('home/:id', array('controller' => 'Index', 'action' => 'index'));
// 使用路由器装载路由协议
$router->addRoute('home', $route);
$front->setRouter($router);
defined("BASE_URL") or define("BASE_URL", $_SERVER['REQUEST_SCHEME'] . "://" . $_SERVER['SERVER_NAME']);
$front->throwExceptions(true);
//引入测试所需文件
require_once PUBLIC_PATH . '/FirePHPCore/fb.php';
FB::info(get_include_path());
//**************** 自定义部分 End *********************//
try {
    $application->bootstrap()->run();
} catch (Zend_Exception $se) {
    echo $se->getTrace();
}