Example #1
0
 public function run()
 {
     // 添加router的配置处理
     if ($routerRules = $this->get('routers')) {
         Router::set($routerRules);
     }
     Router::run();
 }
 /**
  * @covers FrontController::__construct
  * @covers FrontController::dispatch
  */
 public function testDispatchingWorksCorrectly()
 {
     $request = new Request(array('REQUEST_URI' => '/test'));
     $response = new Response();
     $router = new Router();
     $router->set('test', 'TestController');
     $frontController = new FrontController($request, $response, $router, new ControllerFactory(new MapperFactory(new PDO('sqlite::memory:'))), new ViewFactory());
     $this->assertInstanceOf('TestView', $frontController->dispatch($router));
 }
Example #3
0
 public function testMethods()
 {
     $router = new Router();
     $this->assertFalse($router->has("home"));
     $this->assertNull($router->get("home"));
     $this->assertSame(0, $router->count());
     // add one
     $this->assertInstanceOf("SugiPHP\\Routing\\Router", $router->add("home", new Route("/")));
     $this->assertSame(1, $router->count());
     $this->assertTrue($router->has("home"));
     $this->assertInstanceOf("SugiPHP\\Routing\\Route", $router->get("home"));
     // change it
     $this->assertInstanceOf("SugiPHP\\Routing\\Router", $router->set("home", new Route("/foo")));
     $this->assertSame(1, $router->count());
     $this->assertTrue($router->has("home"));
     $this->assertInstanceOf("SugiPHP\\Routing\\Route", $router->get("home"));
     // remove it
     $this->assertInstanceOf("SugiPHP\\Routing\\Router", $router->delete("home"));
     $this->assertFalse($router->has("home"));
     $this->assertNull($router->get("home"));
     $this->assertSame(0, $router->count());
 }
Example #4
0
<?php

require __DIR__ . '/../src/autoload.php';
// Set some super-global variables for demo purposes.
if (PHP_SAPI == 'cli') {
    $_SERVER['REQUEST_URI'] = '/bankaccount/id/1';
}
$request = new Request($_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV);
$response = new Response();
$mapperFactory = new MapperFactory(new PDO('sqlite:' . dirname(__DIR__) . '/database/bankaccount.db'));
$router = new Router();
$router->set('bankaccount', 'BankAccountController');
$router->set('bankaccounts', 'BankAccountListController');
$controllerFactory = new ControllerFactory($mapperFactory);
$viewFactory = new ViewFactory();
$frontController = new FrontController($request, $response, $router, $controllerFactory, $viewFactory);
$view = $frontController->dispatch($router);
print $view->render();
Example #5
0
File: Routers.php Project: Rgss/imp
<?php

/**
 * 配置路由
 *
 * @package Imp
 * @author 		Imp <*****@*****.**>
 * @copyright 	2015-2016 Imp All rights reserved.
 * @version 	1.0
 * @link
 */
Router::set('user/{id}', function ($id) {
    echo 'router';
});
Router::set('admin/user/login', 'Admin/UserController@login');
Router::set('user/login', 'UserController@login');
Router::set('post/{id}/edit', 'PostController@edit', array('id' => ''));
Router::set('keji/{$id}', 'CategoryController@index', array('id'));