We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6e64932 commit 3054e4aCopy full SHA for 3054e4a
src/functions.php
@@ -61,3 +61,30 @@ function _env($key, $default = null)
61
return $value;
62
}
63
64
+
65
+if (!function_exists('make')) {
66
+ /**
67
+ * Cache and use a class
68
+ *
69
+ * @template T of object
70
+ * @param class-string<T>|T $service
71
+ * @return T
72
+ */
73
+ function make($service)
74
+ {
75
+ if (is_string($service)) {
76
+ $serviceName = $service;
77
+ $service = (new $service);
78
+ } else {
79
+ $serviceName = get_class($service);
80
+ }
81
82
+ if (!\Leaf\Config::getStatic("classes.$serviceName")) {
83
+ \Leaf\Config::singleton("classes.$serviceName", function () use ($service) {
84
+ return $service;
85
+ });
86
87
88
+ return \Leaf\Config::get("classes.$serviceName");
89
90
+}
0 commit comments