/** * Define arguments * * @param string $parameterName * @return ParameterBuilderInterface * @throws ParameterDefinitionAlreadyExistsException */ public function defineParameter($parameterName) : ParameterBuilderInterface { if (array_key_exists($parameterName, $this->parametersCollection)) { throw new ParameterDefinitionAlreadyExistsException(); } $parameter = new ParameterDefinition($this); $parameter->setParameterName($parameterName); $this->parametersCollection[$parameterName] = $parameter; return $parameter; }
/** * Check if type hint can be as class reference dependency * * @param ParameterDefinition $parameterDefinition * @return bool */ protected function checkIfTypeHingIsClass(ParameterDefinition $parameterDefinition) { return is_object($parameterDefinition->getTypeHint()) && (string) $parameterDefinition->getTypeHint() !== '' && !$parameterDefinition->getTypeHint()->isBuiltin(); }