J'ai remarqué dans de nombreux tutoriels pour la construction de plugins de blocs,
$this->t('text')
est utilisé pour créer du texte traduisible, en particulier dans la fonction de forme de bloc. Cependant en utilisant
t('text')
ne produit aucune erreur. Y a-t-il une différence entre l'utilisation de l'un ou l'autre? Et s'il n'y en a pas, quelle est la meilleure pratique?
Réponses:
Pour être exact sur votre question: il n'y a pas de différence dans la mise en œuvre interne.
Mais comme meilleure pratique , vous devriez utiliser
$this->t
au lieu du globalt
dans la mesure du possible. Si vous cochez la fonction,t
renvoie un nouvel objet TranslateableMarkup .Si votre classe indique qu'il
$this->t
n'est pas défini, vous pouvez ajouter le StringTranslationTrait pour ajouter le comportement ou l'injecter en tant que dépendance.Donc, en règle générale, vous ne voulez généralement pas mélanger les procédures dans la POO, sauf si cela est complètement inévitable (par exemple, les fonctions PHP natives).
la source
La documentation de t () indique:
Cela n'explique pas la raison de cela, mais si vous regardez le commentaire sur la page de documentation , cela vous donnera une raison d'utiliser cette méthode de trait, ou cette classe.
la source