Skip to content
Snippets Groups Projects
Commit 1f197134 authored by Joas Schilling's avatar Joas Schilling
Browse files

Look up services in the app container before trying the core container

parent 412e4ed3
No related branches found
No related tags found
No related merge requests found
......@@ -62,4 +62,28 @@ class ServerContainer extends SimpleContainer {
return new DIContainer($appName);
}
/**
* @param string $name name of the service to query for
* @return mixed registered service for the given $name
* @throws QueryException if the query could not be resolved
*/
public function query($name) {
$name = $this->sanitizeName($name);
// In case the service starts with OCA\ we try to find the service in
// the apps container first.
if (strpos($name, 'OCA\\') === 0 && substr_count($name, '\\') >= 2) {
$segments = explode('\\', $name);
$appContainer = $this->getAppContainer(strtolower($segments[0]));
try {
return $appContainer->query($name);
} catch (QueryException $e) {
// Didn't find the service in the respective app container,
// ignore it and fall back to the core container.
}
}
return parent::query($name);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment