1. Go to this page and download the library: Download koriym/dii 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/ */
koriym / dii example snippets
// composer autoloader
r([YiiBase::class, 'autoload']);
// set context module
Dii::setContext(\YourVendor\YourProject\Context\App::class);
// run the application
Yii::createWebApplication()->run();
namespace Koriym\Dii\Module;
use Ray\Di\AbstractModule;
use Vendor\Hello\BarInterceptor;
use Vendor\Hello\Foo;
use Vendor\Hello\FooInterface;
class AppModule extends AbstractModule
{
protected function configure()
{
$this->bind(FooInterface::class)->to(Foo::class);
$this->bindInterceptor(
$this->matcher->any(),
$this->matcher->startsWith('actionIndex'),
[BarInterceptor::class]
);
}
}
use Koriym\Dii\Module\AppModule;
use Koriym\Dii\ModuleProvider;
use Ray\Di\AbstractModule;
class App implements ModuleProvider
{
public function __invoke() : AbstractModule
{
return new AppModule();
}
}
class Test implements ModuleProvider
{
public function __invoke() : AbstractModule
{
// override AppModule with TestModule
return new TestModule(new AppModule());
}
}
use Koriym\Dii\Injectable;
use Ray\Di\Di\Inject;
use Vendor\Hello\FooInterface;
class SiteController extends CController implements Injectable
{
private $foo;
/**
* @Inject
*/
public function setDeps(FooInterface $foo)
{
$this->foo = $foo;
}
public function actionIndex()
{
echo 'Hello World' . $this->foo->get();
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.