61 lines
1.2 KiB
PHP
61 lines
1.2 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace KadenceWP\KadenceBlocks;
|
||
|
|
|
||
|
|
use KadenceWP\KadenceBlocks\lucatume\DI52\Container as DI52Container;
|
||
|
|
use KadenceWP\KadenceBlocks\StellarWP\ContainerContract\ContainerInterface;
|
||
|
|
|
||
|
|
class Container implements ContainerInterface {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @var DI52Container
|
||
|
|
*/
|
||
|
|
protected $container;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Container constructor.
|
||
|
|
*/
|
||
|
|
public function __construct() {
|
||
|
|
$this->container = new DI52Container();
|
||
|
|
}
|
||
|
|
|
||
|
|
public function container(): DI52Container {
|
||
|
|
return $this->container;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @inheritDoc
|
||
|
|
*/
|
||
|
|
public function bind( string $id, $implementation = null, ?array $afterBuildMethods = null ) {
|
||
|
|
$this->container->bind( $id, $implementation, $afterBuildMethods );
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @inheritDoc
|
||
|
|
*/
|
||
|
|
public function get( string $id ) {
|
||
|
|
return $this->container->get( $id );
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @inheritDoc
|
||
|
|
*/
|
||
|
|
public function has( string $id ) {
|
||
|
|
return $this->container->has( $id );
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @inheritDoc
|
||
|
|
*/
|
||
|
|
public function singleton( string $id, $implementation = null, ?array $afterBuildMethods = null ) {
|
||
|
|
$this->container->singleton( $id, $implementation, $afterBuildMethods );
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Defer all other calls to the container object.
|
||
|
|
*/
|
||
|
|
public function __call( $name, $args ) {
|
||
|
|
return $this->container->{$name}( ...$args );
|
||
|
|
}
|
||
|
|
}
|