Saya perhatikan dalam banyak tutorial untuk membangun plugin blok,
$this->t('text')
digunakan untuk membuat teks yang dapat diterjemahkan, terutama dalam fungsi bentuk blok. Namun menggunakan
t('text')
tidak menghasilkan kesalahan. Apakah ada perbedaan antara menggunakan salah satu dari ini? Dan jika tidak ada, praktik terbaik apa?
Jawaban:
Untuk lebih tepatnya pada pertanyaan Anda: tidak ada perbedaan dalam implementasi internal.
Tetapi sebagai praktik terbaik , Anda harus menggunakan
$this->t
alih-alih globalt
sedapat mungkin. Jika Anda memeriksa fungsinya,t
mengembalikan objek TranslateableMarkup baru .Jika kelas Anda mengatakan
$this->t
tidak didefinisikan, Anda bisa menambahkan StringTranslationTrait untuk menambahkan perilaku atau menyuntikkannya sebagai dependensi.Jadi sebagai aturan praktik terbaik, Anda umumnya tidak ingin mencampur prosedural dalam OOP kecuali benar-benar tidak dapat dihindari (misalnya fungsi PHP asli).
sumber
Dokumentasi untuk t () menyatakan:
Itu tidak menjelaskan alasan untuk ini, tetapi jika Anda melihat komentar pada halaman dokumentasi , itu akan memberi Anda alasan untuk menggunakan metode sifat itu, atau kelas itu.
sumber