PHP code example of td7650 / yml2pimple
1. Go to this page and download the library: Download td7650/yml2pimple 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/ */
td7650 / yml2pimple example snippets
use G\Yaml2Pimple\ContainerBuilder;
use G\Yaml2Pimple\Loader\YamlFileLoader;
use G\Yaml2Pimple\Loader\CacheLoader;
use G\Yaml2Pimple\Normalizer\ChainNormalizer;
use G\Yaml2Pimple\Normalizer\PimpleNormalizer;
use G\Yaml2Pimple\Normalizer\ExpressionNormalizer;
use Symfony\Component\Config\FileLocator;
use G\Yaml2Pimple\Proxy\ServiceProxyAdapter;
use G\Yaml2Pimple\Proxy\AspectProxyAdapter;
use G\Yaml2Pimple\Factory\ServiceFactory;
use G\Yaml2Pimple\Factory\ParameterFactory;
use G\Yaml2Pimple\Factory\ProxyParameterFactory;
$container = new \Pimple();
$builder = new ContainerBuilder($container);
$ymlLoader = new YamlFileLoader(
new FileLocator(__DIR__)
);
$cacheLoader = new CacheLoader($ymlLoader, __DIR__ . '/cache/');
// set the normalizers
$builder->setNormalizer(
new ChainNormalizer(
array(
new PimpleNormalizer(),
new ExpressionNormalizer()
)
)
);
$parameterFactory = new ProxyParameterFactory();
$serviceFactory = new ServiceFactory(
new ServiceProxyAdapter(__DIR__ . '/cache/')
);
$serviceFactory->setAspectFactory(
new AspectProxyAdapter( __DIR__ . '/cache/')
);
// set our loader helper
$builder->setLoader($cacheLoader);
// lazy service proxy factory
$builder->setServiceFactory($serviceFactory);
// lazy parameter proxy factory
$builder->setParameterFactory($parameterFactory);
$builder->load('test.yml');
$app = $container['App'];
echo $app->hello();
echo $container['desc1'];
echo $container['combined'];
$container['fragment2'] = 'Test';
echo $container['combined'];
echo $container['desc2'];
$container['fragment2'] = 'world';
echo $container['combined2'];
$container['fragment2'] = 'Test';
echo $container['combined2'];