public function testParameter() { $class = new ReflectionClass('Psc\\Code\\Generate\\ParameterTestClass'); $method = $class->getMethod('comboBox'); $params = $method->getParameters(); $param = new GParameter(); $param->elevate($params[4]); $this->assertEquals('commonItemData', $param->getName()); $this->assertEquals(array(), $param->getDefault()); $this->assertTrue($param->isOptional()); $this->assertEquals('Array $commonItemData = array()', $param->php()); $param = new GParameter(); $param->elevate($params[3]); $this->assertEquals('$itemType = NULL', $param->php()); $param = new GParameter(); $param->elevate($params[0]); $this->assertEquals('$label', $param->php()); $param = new GParameter(); $param->elevate(A::index($class->getMethod('factory')->getParameters(), 0)); $this->assertEquals('\\Psc\\Code\\Generate\\TestHint $dunno', $param->php($useFQN = TRUE)); }
protected function resolveTaskDependency(GParameter $parameter, GClass $gClass) { // zuerst nach Name switch ($parameter->getName()) { case 'targetProject': case 'sourceProject': case 'target': case 'hostName': case 'vhostName': case 'baseUrl': case 'changelog': case 'webforgeContainer': $getter = 'get' . ucfirst($parameter->getName()); return $this->{$getter}(); default: if (!$parameter->isOptional()) { throw new \Psc\Exception('Dependency in ' . $gClass->getFQN() . ' ' . $parameter->getName() . ' kann nicht gelöst werden.'); } else { return $parameter->getDefault(); } } }