Eu notei em muitos tutoriais para construir plugins de bloco,
$this->t('text')
é usado para criar texto traduzível, especialmente na função de formulário de bloco. No entanto, usando
t('text')
não produz nenhum erro. Existe alguma diferença entre usar um desses? E se não houver, qual é a melhor prática?
Respostas:
Para ser exato em sua pergunta: não há diferença na implementação interna.
Mas como prática recomendada , você deve usar em
$this->t
vez do globalt
sempre que possível. Se você marcar a função,t
está retornando um novo objeto TranslateableMarkup .Se sua classe diz que
$this->t
não está definido, você pode adicionar o StringTranslationTrait para adicionar o comportamento ou injetá-lo como uma dependência.Portanto, como regra de boas práticas, geralmente você não deseja misturar procedimentos no OOP, a menos que seja totalmente inevitável (por exemplo, funções nativas do PHP).
fonte
A documentação para t () declara:
Ele não explica o motivo disso, mas se você olhar para o comentário na página de documentação , ele fornecerá um motivo para usar esse método de característica ou essa classe.
fonte