Server IP : 104.21.14.48 / Your IP : 3.138.32.245 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/plugins/wp-all-export/src/Di/ |
Upload File : |
<?php namespace Wpae\Di; class WpaeDi { private $config; private $cache; private $services; public function __construct($config) { $this->config = $config; $this->services = [ 'c' => [ 'value' => 10 ], 'a' => [ 'class' => '\Wpae\ClassA', 'arguments' => [ '@a', '@b' ] ], 'b' => [ 'class' => '\Wpae\ClassB', 'arguments' => [ '@a', '%c' ] ] ]; } public function get($name) { if(isset($this->cache[$name])) { return $this->cache[$name]; } if(isset($this->services[$name])) { $arguments = []; if(count($this->services[$name]['arguments'])){ foreach($this->services[$name]['arguments'] as $argument) { $arguments[] = $this->get($argument); } } else { $serviceClass = $this->services[$name]['class']; $this->cache[$name] = new $serviceClass(); return $this->cache[$name]; } $r = new \ReflectionClass($this->services[$name]['class']); $this->cache[$name] = $r->newInstanceArgs($arguments); } return $this->cache[$name]; } }