Init constant list by defined and magic constants
public initEnvironmentConstants ( ) |
public function testPropertyDefaultValueCanHandleComplexArrayOfTypes() { $targetValue = array(5, 'one' => 1, 'two' => '2', 'constant1' => '__DIR__ . \'/anydir1/anydir2\'', array('baz' => true, 'foo', 'bar', array('baz1', 'baz2', 'constant2' => 'ArrayObject::STD_PROP_LIST')), new ValueGenerator('PHP_EOL', 'constant')); $expectedSource = <<<EOS array( 5, 'one' => 1, 'two' => '2', 'constant1' => __DIR__ . '/anydir1/anydir2', array( 'baz' => true, 'foo', 'bar', array( 'baz1', 'baz2', 'constant2' => ArrayObject::STD_PROP_LIST ) ), PHP_EOL ) EOS; $valueGenerator = new ValueGenerator(); $valueGenerator->initEnvironmentConstants(); $valueGenerator->setValue($targetValue); $generatedTargetSource = $valueGenerator->generate(); $this->assertEquals($expectedSource, $generatedTargetSource); }
/** * Generate the getConfig() method * * @return MethodGenerator */ protected function generateGetConfigMethod() { // create method body $body = new ValueGenerator(); $body->initEnvironmentConstants(); $body->setValue('include __DIR__ . \'/config/module.config.php\''); // create method $method = new MethodGenerator(); $method->setName('getConfig'); $method->setBody('return ' . $body->generate() . ';' . AbstractGenerator::LINE_FEED); // add optional doc block if ($this->flagCreateApiDocs) { $method->setDocBlock(new DocBlockGenerator('Get module configuration', null, array($this->generateReturnTag('array')))); } return $method; }
/** * Generate the getAutoloaderConfig() method * * @return void */ protected function addGetAutoloaderConfigMethod() { // set array data $array = ['Zend\\Loader\\ClassMapAutoloader' => ['__NAMESPACE__ => __DIR__ . \'/autoload_classmap.php\''], 'Zend\\Loader\\StandardAutoloader' => ['namespaces' => ['__NAMESPACE__ => __DIR__ . \'/src/\' . __NAMESPACE__']]]; // create method body $body = new ValueGenerator(); $body->initEnvironmentConstants(); $body->setValue($array); // create method $method = new MethodGenerator(); $method->setName('getAutoloaderConfig'); $method->setBody('return ' . $body->generate() . ';' . AbstractGenerator::LINE_FEED); // check for api docs if ($this->config['flagAddDocBlocks']) { $method->setDocBlock(new DocBlockGenerator('Get module autoloader configuration', 'Sets up the module autoloader configuration', [new ReturnTag(['array'], 'module autoloader configuration')])); } // add method $this->addMethodFromGenerator($method); $this->addUse('Zend\\ModuleManager\\Feature\\AutoloaderProviderInterface'); $this->setImplementedInterfaces(array_merge($this->getImplementedInterfaces(), ['AutoloaderProviderInterface'])); }