aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/AppFramework/Utility
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2025-05-14 18:42:42 +0200
committerCôme Chilliet <come.chilliet@nextcloud.com>2025-05-14 18:42:42 +0200
commit237197ebb555183aaa9fab32c5df5bf2347398f8 (patch)
tree96b4ebad2bbbd2fea515fa9cc9520fa7f3555033 /lib/private/AppFramework/Utility
parentab38e14c751e3e0ca88f7e42eae5392ed22b415f (diff)
downloadnextcloud-server-feat/use-php84-lazy-objects.tar.gz
nextcloud-server-feat/use-php84-lazy-objects.zip
feat: Add a configuration toggle for lazy objects in DIfeat/use-php84-lazy-objects
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'lib/private/AppFramework/Utility')
-rw-r--r--lib/private/AppFramework/Utility/SimpleContainer.php4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/private/AppFramework/Utility/SimpleContainer.php b/lib/private/AppFramework/Utility/SimpleContainer.php
index 4558c7417cf..4c3036c5e70 100644
--- a/lib/private/AppFramework/Utility/SimpleContainer.php
+++ b/lib/private/AppFramework/Utility/SimpleContainer.php
@@ -24,6 +24,8 @@ use function class_exists;
* SimpleContainer is a simple implementation of a container on basis of Pimple
*/
class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
+ public static bool $useLazyObjects = false;
+
private Container $container;
public function __construct() {
@@ -58,7 +60,7 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
/* No constructor, return a instance directly */
return $class->newInstance();
}
- if (PHP_VERSION_ID >= 80400) {
+ if (PHP_VERSION_ID >= 80400 && self::$useLazyObjects) {
/* For PHP>=8.4, use a lazy ghost to delay constructor and dependency resolving */
/** @psalm-suppress UndefinedMethod */
return $class->newLazyGhost(function (object $object) use ($constructor): void {