public function init(array $options = array()) { $cacheDir = array_key_exists('cacheDir', $options) ? $options['cacheDir'] : null; if ($cacheDir && !is_dir($cacheDir)) { mkdir($cacheDir, 0777, true); } return parent::init($options); }
public function init(array $options = array()) { if (!isset($options['excludePaths'])) { $options['excludePaths'] = []; } $options['debug'] = true; $options['excludePaths'][] = __DIR__; parent::init($options); }
/** * {@inheritdoc} */ public function init(array $options = array()) { $file = rtrim($options['cacheDir'], '/') . '/AspectServiceContainer.php'; $containerConfigCache = new ConfigCache($file, !empty($options['debug'])); if (!$containerConfigCache->isFresh()) { $container = new ContainerBuilder(); $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/Resources')); $loader->load('components.xml'); $loader->load('aspect.xml'); $loader->load('demo_aspects.xml'); // TODO: Remove this hardcoded example $container->addCompilerPass(new ComponentScannerPass($options['appDir'] . '/src')); $container->addCompilerPass(new AspectCollectorPass()); $container->addCompilerPass(new InterfaceBinderPass(), PassConfig::TYPE_AFTER_REMOVING); $container->setParameter('kernel.interceptFunctions', !empty($options['interceptFunctions'])); $container->compile(); $dumper = new PhpDumper($container); $containerConfigCache->write($dumper->dump(array('base_class' => 'Warlock\\WarlockContainer', 'class' => static::$containerClass)), $container->getResources()); } require_once $file; parent::init($options); $this->container->addResource($file); }