1. Go to this page and download the library: Download thecodingmachine/yaco 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/ */
thecodingmachine / yaco example snippets
use TheCodingMachine\Yaco\Compiler;
$compiler = new Compiler();
// ...
foreach ($definitions as $identifier => $definition) {
/* @var $definition Interop\Container\Definition\DefinitionInterface */
$compiler->addDefinition($identifier, $definition);
}
// Let's dump the code of the My\Container class.
file_put_contents("Container.php", $compiler->compile("My\\Container"));
$container = new My\Container();
$service = $container->get('a_service');
use TheCodingMachine\Yaco\Compiler;
use function \Assembly\object;
use function \Assembly\alias;
$compiler = new Compiler();
$loggerDefinition = object('MyLogger')
->setConstructorArguments('warning')
->addMethodCall('setDebug', true);
$compiler->addDefinition('logger', $loggerDefinition);
// Let's dump the code of the My\Container class.
file_put_contents("Container.php", $compiler->compile("My\\Container"));
$container = new My\Container();
$logger = $container->get('logger');
use TheCodingMachine\Yaco\Compiler;
use TheCodingMachine\ServiceProvider\Registry;
$registry = new Registry([
MyServiceProvider::class
]);
// The registry is passed as first argument to the compiler.
$compiler = new Compiler($registry);
// Let's dump the code of the My\Container class.
file_put_contents("MyContainer.php", $compiler->compile("MyContainer"));
use TheCodingMachine\ServiceProvider\Registry;
$registry = new Registry([
MyServiceProvider::class
]);
// The registry is passed as first argument to the compiler.
$container = new MyContainer($registry);
$service = $container->get('a_service');
// $rootContainer is a composite container from the acclimate library
$rootContainer = new Acclimate\CompositeContainer();
$myContainer = new MyContainer(null, $rootContainer);
$rootContainer->addContainer($myContainer);
use TheCodingMachine\Yaco\Compiler;
$compiler = new Compiler();
// ...
$compiler->register($definitionProvider);
// Let's dump the code of the My\Container class.
file_put_contents("Container.php", $compiler->compile("My\\Container"));
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.