Merge pull request #1359 from nextcloud/cache_controller_name

Cache the build ControllerName
This commit is contained in:
Joas Schilling 2016-09-12 14:26:51 +02:00 committed by GitHub
commit a7226996f7
1 changed files with 15 additions and 1 deletions

View File

@ -36,14 +36,25 @@ use OCP\Route\IRouter;
* @package OC\AppFramework\routing
*/
class RouteConfig {
/** @var DIContainer */
private $container;
/** @var IRouter */
private $router;
/** @var array */
private $routes;
/** @var string */
private $appName;
/** @var string[] */
private $controllerNameCache = [];
/**
* @param \OC\AppFramework\DependencyInjection\DIContainer $container
* @param \OCP\Route\IRouter $router
* @param array $routes
* @internal param $appName
*/
public function __construct(DIContainer $container, IRouter $router, $routes) {
@ -234,7 +245,10 @@ class RouteConfig {
*/
private function buildControllerName($controller)
{
return $this->underScoreToCamelCase(ucfirst($controller)) . 'Controller';
if (!isset($this->controllerNameCache[$controller])) {
$this->controllerNameCache[$controller] = $this->underScoreToCamelCase(ucfirst($controller)) . 'Controller';
}
return $this->controllerNameCache[$controller];
}
/**