eva-8.x-2.1/src/TokenHandler.php
src/TokenHandler.php
<?php
namespace Drupal\eva;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Utility\Token;
/**
* Token handling service.
*/
class TokenHandler {
/**
* The token service.
*
* @var \Drupal\Core\Utility\Token
*/
protected $token;
/**
* Inject token dependencies.
*
* @param \Drupal\Core\Utility\Token $token
* The token service.
*/
public function __construct(Token $token) {
$this->token = $token;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static(
$container->get('token')
);
}
/**
* Get view arguments array from string that contains tokens.
*
* @param string $string
* The token string defined by the view.
* @param string $type
* The token type.
* @param object $object
* The object being used for replacement data (typically a node).
*
* @return array
* An array of argument values.
*/
public function getArgumentsFromTokenString($string, $type, $object) {
$args = trim($string);
if (empty($args)) {
return [];
}
$args = $this->token->replace($args, [$type => $object], ['sanitize' => FALSE]);
return explode('/', $args);
}
}
