public function render(Request $request) { if (!in_array($request->getMethod(), $this->requirements['methods'])) { return false; } $path = $request->getUri()->getPath(); $path = '/' . trim($path, '/'); if (preg_match($this->pattern, $path, $urlParameters) !== 1) { return false; } $realParameters = self::getParameters($this->getHandlerParameters(), array_filter($urlParameters), $request); EventHandler::trigger(EventHandler::ON_ROUTE_MATCH, $this, $realParameters, $request); if ($this->requirements['https'] && !$request->isSecure()) { return false; } $response = ($this->handler)(...array_values($realParameters)); self::handleResponse($response); return true; }
public static function index(Request $request, TestInjection $ti) { Logger::log(Logger::INFO, 'example log message'); return 'path: ' . $request->getUri()->getPath() . ', random injection data: ' . $ti->getSomeData() . ', next up: ' . Router::link('example.test2', ['user' => new User(1)])->setQueryParameters(['foo' => 'b a r'])->getAbsolute(); }