🚀 Advanced Web Server Manager
Complete File Manager & Terminal - Standalone Version
By Sid Gifari | Gifari Industries
Current path:
/
/
mnt
/
web613
/
c2
/
38
/
570372438
/
htdocs
/
STRATO-apps
/
wordpress_02
/
app
/
wp-content
/
plugins
/
elementor-pro
/
vendor_prefixed
/
php-di
/
php-di
/
src
/
Definition
/
Source
✏️
Editing: DefinitionFile.php
<?php declare (strict_types=1); namespace ElementorProDeps\DI\Definition\Source; /** * Reads DI definitions from a file returning a PHP array. * * @author Matthieu Napoli <matthieu@mnapoli.fr> */ class DefinitionFile extends DefinitionArray { /** * @var bool */ private $initialized = \false; /** * File containing definitions, or null if the definitions are given as a PHP array. * @var string|null */ private $file; /** * @param string $file File in which the definitions are returned as an array. */ public function __construct($file, Autowiring $autowiring = null) { // Lazy-loading to improve performances $this->file = $file; parent::__construct([], $autowiring); } public function getDefinition(string $name) { $this->initialize(); return parent::getDefinition($name); } public function getDefinitions() : array { $this->initialize(); return parent::getDefinitions(); } /** * Lazy-loading of the definitions. */ private function initialize() { if ($this->initialized === \true) { return; } $definitions = (require $this->file); if (!\is_array($definitions)) { throw new \Exception("File {$this->file} should return an array of definitions"); } $this->addDefinitions($definitions); $this->initialized = \true; } }
💾 Save Changes
❌ Cancel