/** * Constructor * * @param Request $request * @param InputDefinition $definition */ public function __construct(Request $request, InputDefinition $definition = null) { $parameters = array(null); foreach ($request->getParams() as $key => $param) { if (is_numeric($key)) { $parameters[] = $param; } } parent::__construct($parameters, $definition); }
public function testCanConstructRequestAndGetParams() { $_SERVER['argv'] = array('foo.php', 'foo' => 'baz', 'bar'); $_ENV["FOO_VAR"] = "bar"; $request = new Request(); $params = $request->getParams(); $this->assertEquals(2, count($params)); $this->assertEquals($params->toArray(), array('foo' => 'baz', 'bar')); $this->assertEquals($request->getParam('foo'), 'baz'); $this->assertEquals($request->getScriptName(), 'foo.php'); $this->assertEquals(1, count($request->env())); $this->assertEquals($request->env()->get('FOO_VAR'), 'bar'); $this->assertEquals($request->getEnv('FOO_VAR'), 'bar'); }
/** * constructor, accepts default params and one from request * * @param array $params * @param Request $request */ public function __construct(array $params, Request $request) { $this->request = $request; $this->storage = new \ArrayObject(array_merge($params, $request->getParams()->toArray())); }