cache = new ArrayCachePool; $this->database = $database; } public function findResource(Request $request): HttpResource { switch ($request->getPath()) { case '/plaintext': return new HelloTextResource; case '/json': return new HelloJsonResource; case '/db': return new DbResource($this->database); case '/queries': return new QueriesResource($this->database); case '/fortunes': return new FortuneResource($this->database); case '/update': return new UpdateResource($this->database); } return new NotFoundResource; } protected function getCache(Request $request): CacheItemPoolInterface { return $this->cache; } }