function ProxyBuilder::buildParameter

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php \Drupal\Component\ProxyBuilder\ProxyBuilder::buildParameter()
  2. 8.9.x core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php \Drupal\Component\ProxyBuilder\ProxyBuilder::buildParameter()
  3. 11.x core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php \Drupal\Component\ProxyBuilder\ProxyBuilder::buildParameter()

Builds a string for a single parameter of a method.

Parameters

\ReflectionParameter $parameter: A reflection object of the parameter.

Return value

string

1 call to ProxyBuilder::buildParameter()
ProxyBuilder::buildMethod in core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php
Generates the string representation of a single method: signature, body.

File

core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php, line 264

Class

ProxyBuilder
Generates the string representation of the proxy service.

Namespace

Drupal\Component\ProxyBuilder

Code

protected function buildParameter(\ReflectionParameter $parameter) {
  $parameter_string = '';
  if ($parameter->hasType()) {
    $type = $parameter->getType();
    if ($type->allowsNull()) {
      $parameter_string .= '?';
    }
    if (!$type->isBuiltin()) {
      // The parameter is a class or interface.
      $parameter_string .= '\\';
    }
    $type_name = $type->getName();
    if ($type_name === 'self') {
      $type_name = $parameter->getDeclaringClass()
        ->getName();
    }
    $parameter_string .= $type_name . ' ';
  }
  if ($parameter->isPassedByReference()) {
    $parameter_string .= '&';
  }
  $parameter_string .= '$' . $parameter->getName();
  if ($parameter->isDefaultValueAvailable()) {
    $parameter_string .= ' = ';
    $parameter_string .= var_export($parameter->getDefaultValue(), TRUE);
  }
  return $parameter_string;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.