summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2015-09-13 11:35:21 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2015-09-13 17:44:24 +0200
commitfd745228043d04b5082995d552803e486094643c (patch)
tree434834913e628622e623e8ba4f63d4744f49d1b3
parentca921fa1e78ce2cf64877e31b6663c3ad4854aef (diff)
downloadnextcloud-server-fd745228043d04b5082995d552803e486094643c.tar.gz
nextcloud-server-fd745228043d04b5082995d552803e486094643c.zip
make resolve public to avoid boiler plate code
add resolve to public interface
-rw-r--r--lib/private/appframework/utility/simplecontainer.php2
-rw-r--r--lib/public/icontainer.php10
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/private/appframework/utility/simplecontainer.php b/lib/private/appframework/utility/simplecontainer.php
index 83a08acde26..5d7ea48752b 100644
--- a/lib/private/appframework/utility/simplecontainer.php
+++ b/lib/private/appframework/utility/simplecontainer.php
@@ -77,7 +77,7 @@ class SimpleContainer extends Container implements IContainer {
* @return stdClass
* @throws QueryException if the class could not be found or instantiated
*/
- private function resolve($name) {
+ public function resolve($name) {
$baseMsg = 'Could not resolve ' . $name . '!';
try {
$class = new ReflectionClass($name);
diff --git a/lib/public/icontainer.php b/lib/public/icontainer.php
index 75ff5e97b69..ffd1d16c97e 100644
--- a/lib/public/icontainer.php
+++ b/lib/public/icontainer.php
@@ -44,6 +44,16 @@ use Closure;
interface IContainer {
/**
+ * If a parameter is not registered in the container try to instantiate it
+ * by using reflection to find out how to build the class
+ * @param string $name the class name to resolve
+ * @return \stdClass
+ * @since 8.2.0
+ * @throws QueryException if the class could not be found or instantiated
+ */
+ public function resolve($name);
+
+ /**
* Look up a service for a given name in the container.
*
* @param string $name