Example #1
0
 /**
  * @covers Magento_Di_Definition_CompilerDefinition_Zend::addDirectory
  * @covers Magento_Di_Definition_CompilerDefinition_Zend::compile
  * @covers Magento_Di_Definition_CompilerDefinition_Zend::toArray
  */
 public function testCompiler()
 {
     $compiler = new Magento_Di_Definition_CompilerDefinition_Zend();
     $compiler->addDirectory(__DIR__ . '/TestAsset');
     $compiler->compile();
     $expectedDefinitions = (include __DIR__ . '/_files/definitions.php');
     $actualDefinitions = $compiler->toArray();
     $this->assertEquals($expectedDefinitions, $actualDefinitions);
 }
Example #2
0
 /**
  * Compile definitions using Magento_Di_Definition_CompilerDefinition_Zend
  *
  * @param string $moduleDir
  * @return array
  */
 protected function _compileModuleDefinitions($moduleDir)
 {
     $strategy = new \Zend\Di\Definition\IntrospectionStrategy(new \Zend\Code\Annotation\AnnotationManager());
     $strategy->setMethodNameInclusionPatterns(array());
     $strategy->setInterfaceInjectionInclusionPatterns(array());
     $compiler = new Magento_Di_Definition_CompilerDefinition_Zend($strategy);
     $compiler->addDirectory($moduleDir);
     $controllerPath = $moduleDir . '/controllers/';
     if (file_exists($controllerPath)) {
         /** @var $file DirectoryIterator */
         foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($controllerPath)) as $file) {
             if (!$file->isDir()) {
                 require_once $file->getPathname();
             }
         }
     }
     $compiler->compile();
     $moduleDefinitions = $compiler->toArray();
     return $moduleDefinitions;
 }