1. Go to this page and download the library: Download webino/instance-container library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
webino / instance-container example snippets
use Webino\InstanceContainer;
class TestInstance
{
}
$instances = new InstanceContainer;
$testInstance = $instances->get(TestInstance::class);
use Webino\InstanceContainer;
class TestInstance
{
public function __construct(stdClass $dependency)
{
}
}
$instances = new InstanceContainer;
$testInstance = $instances->make(TestInstance::class, new stdClass);
use Webino\InstanceContainer;
use Webino\CreateInstanceEventInterface;
use Webino\InstanceFactoryMethodInterface;
class TestInstance implements InstanceFactoryMethodInterface
{
public static function create(CreateInstanceEventInterface $event)
{
$container = $event->getContainer();
return new static($container->get(stdClass::class));
}
public function __construct(stdClass $dependency)
{
}
}
$instances = new InstanceContainer;
$testInstance = $instances->get(TestInstance::class);
use Webino\InstanceContainer;
class TestInstance
{
}
$instances = new InstanceContainer;
$instances->set(TestInstance::class, new TestInstance);
use Webino\InstanceContainer;
class TestInstance
{
}
$instances = new InstanceContainer;
$instances->set(TestInstance::class, null);
use Webino\InstanceContainer;
use Webino\CreateInstanceEventInterface;
class TestInstanceFactory implements InstanceFactoryInterface
{
public function createInstance(CreateInstanceEventInterface $event)
{
$container = $event->getContainer();
return new TestInstance($container->get(stdClass::class));
}
}
class TestInstance
{
public function __construct(stdClass $dependency)
{
}
}
$instances = new InstanceContainer;
$instances->bind(TestInstance::class, TestInstanceFactory::class);
$testInstance = $instances->get(TestInstance::class);
use Webino\InstanceContainer;
use Webino\CreateInstanceEventInterface;
class TestInstance
{
public function __construct(stdClass $dependency)
{
}
}
$instances = new InstanceContainer;
$instances->bind(TestInstance::class, function (CreateInstanceEventInterface $event) {
$container = $event->getContainer();
return new TestInstance($container->get(stdClass::class));
});
$testInstance = $instances->get(TestInstance::class);
use Webino\InstanceContainer;
interface TestInstanceInterface
{
}
class TestInstance implements TestInstanceInterface
{
public function __construct(stdClass $dependency)
{
}
}
$instances = new InstanceContainer;
$testInstance = $instances->get(TestInstanceInterface::class);
use Webino\InstanceContainer;
interface TestAliasInterface
{
}
class TestInstance implements TestAliasInterface
{
public function __construct(stdClass $dependency)
{
}
}
$instances = new InstanceContainer;
$instances->alias(TestInstance::class, TestAliasInterface::class);
$testInstance = $instances->get(TestAliasInterface::class);
use Webino\InstanceContainer;
use Webino\CreateInstanceEvent;
class TestInstance
{
public $foo = false;
}
$instances = new InstanceContainer;
$instances->on(CreateInstanceEvent::class, function (CreateInstanceEvent $event) {
$instance = $event->getInstance();
$instance->foo = true;
});
$testInstance = $instances->get(TestAliasInterface::class);
bash
composer analyse
bash
composer fix
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.