123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- namespace Drupal\language;
- use Drupal\Core\Language\LanguageManagerInterface;
- use Drupal\Core\ParamConverter\ParamConverterInterface;
- use Symfony\Component\Routing\Route;
- /**
- * Converts parameters for upcasting entity IDs to full objects.
- */
- class LanguageConverter implements ParamConverterInterface {
- /**
- * The language manager.
- *
- * @var \Drupal\Core\Language\LanguageManagerInterface
- */
- protected $languageManager;
- /**
- * Constructs a new LanguageConverter.
- *
- * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
- * The language manager.
- */
- public function __construct(LanguageManagerInterface $language_manager) {
- $this->languageManager = $language_manager;
- }
- /**
- * {@inheritdoc}
- */
- public function convert($value, $definition, $name, array $defaults) {
- if (!empty($value)) {
- return $this->languageManager->getLanguage($value);
- }
- return NULL;
- }
- /**
- * {@inheritdoc}
- */
- public function applies($definition, $name, Route $route) {
- return (!empty($definition['type']) && $definition['type'] == 'language');
- }
- }
|