/** * Use the register method to register items with the container via the * protected $this->container property or the `getContainer` method * from the ContainerAwareTrait. */ public function register() { $this->container->share(RouteCollection::class, function () { $strategy = new ParamStrategy(); $strategy->setContainer($this->container); $routes = new RouteCollection($this->container); $routes->setStrategy($strategy); // Register routes $routes->get('/', DeployController::class . '::index'); $routes->get('/{task}', DeployController::class . '::index'); $routes->get('/run/{hash}/{command}', DeployController::class . '::run'); return $routes; }); }
public function testCustomRequestParameter() { $container = new Container(); $fakeController = $this->getMockBuilder('FakeController')->setMethods(array('display'))->getMock(); $fakeController->expects($this->any())->method('display')->will($this->returnValue(new Response())); $container->add('Controller', $fakeController); $routes = new RouteCollection($container); $routes->setStrategy(new ControllerDefinitionStrategy()); $middleware = new DefineControllerMiddleware($routes, 'customRequestParameter'); $routes->get('test/{name}', 'Controller::display'); $request = $middleware->prepare(Request::create('test/george')); $definition = $request->attributes->get('customRequestParameter'); $this->assertInstanceOf('Laasti\\Route\\ControllerDefinition', $definition); $this->assertInstanceOf('FakeController', $definition->getInstance()); $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Request', $request); $this->assertEquals('george', $definition->getArguments()['name']); }
/** * REST – Post * @param $router */ protected function setupRESTPost(RouteCollection $router) { $router->get('/backend/rest/post/{id}', 'Post\\IndexController::getById'); $router->get('/backend/rest/post/by-ids/{ids}', 'Post\\IndexController::getByIds'); $router->get('/backend/rest/post/query/', 'Post\\IndexController::getByQuery'); }
public function setUp() { $routes = new RouteCollection(); $urls = [$routes->get('users', 'History\\Http\\Controllers\\FooController::index'), $routes->get('users/{user}', 'History\\Http\\Controllers\\FooController::show')]; $this->generator = new UrlGenerator('History', $urls); }