1. Go to this page and download the library: Download jonsa/pimple-ioc 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/ */
jonsa / pimple-ioc example snippets
use Jonsa\PimpleResolver\ServiceProvider;
use Pimple\Container;
$container = new Container();
$container->register(new ServiceProvider());
interface FooContract {}
class Foo implements FooContract {};
class Bar {
public function __construct(FooContract $foo) {}
}
class Baz {
public function __construct(Bar $bar) {}
}
$container['bind']('FooContract', 'FooClass');
$baz = $container['make']('Baz');
class Log {
public function __construct(Psr\Log\LoggerInterface $logger, $level = Psr\Log\LogLevel::WARNING)
{
...
}
}
$container['make']('Log', array(
'level' => Psr\Log\LogLevel::DEBUG
));
use Jonsa\PimpleResolver\ServiceProvider;
use Jonsa\PimpleResolver\Events;
use Symfony\Component\EventDispatcher\EventDispatcher;
$dispatcher = new EventDispatcher;
$container[ServiceProvider::EVENT_DISPATCHER] = function () use ($dispatcher) {
return $dispatcher;
});
$dispatcher->addListener(Events::CLASS_RESOLVED, function (ClassResolvedEvent $event) {
$object = $event->getResolvedObject();
...
});