You are here

public function PluginTypeBasedConverterTrait::convert in Plugin 8.2

Implements \Drupal\Core\ParamConverter\ParamConverterInterface::convert().

File

src/ParamConverter/PluginTypeBasedConverterTrait.php, line 37

Class

PluginTypeBasedConverterTrait
Implements \Drupal\Core\ParamConverter\ParamConverterInterface for plugin type-based route parameter converters.

Namespace

Drupal\plugin\ParamConverter

Code

public function convert($value, $definition, $name, array $defaults) {
  $valid = $this
    ->validateParameterDefinition($definition);
  if (!$valid) {
    return FALSE;
  }
  $converter_definition = $this
    ->getConverterDefinition($definition);
  if (is_null($converter_definition)) {
    return NULL;
  }
  try {
    return $this
      ->doConvert($value, $converter_definition, $name, $defaults);
  } catch (\Exception $e) {
    trigger_error(Error::renderExceptionSafe($e), E_USER_WARNING);

    // Return NULL in order to conform to the interface.
    return NULL;
  }
}