Трейты - фрагменты кода, оторванные от контекста и их можно использовать в самых разных местах. Они добавляют свои методы к вашим собственным классам. Так, при разработке расширений порой нужно работать с текущим пользователем сайта: гость он или авторизованный? Если авторизованный, то к какой группе доступа принадлежит? И так далее.
Начиная с Joomla 4.2 в ядре появился трейт CurrentUserTrait, который добавляет к классу вашего плагина, хелпера и т.д. - 2 метода getCurrentUser() и setCurrentUser(). В геттере (getCurrentUser()) под капотом проверяется назначен ли текущий пользователь и если нет, то он получается из объекта Приложения.
Как использовать трейт CurrentUserTrait в Joomla?
<?php
use Joomla\CMS\User\CurrentUserTrait;
final class Wtcategory extends FieldsPlugin implements SubscriberInterface
{
     use DatabaseAwareTrait;
     use CurrentUserTrait;
   public function MyMethod()
   {
      $user = $this->getCurrentUser();
   }
}
И таким образом можно меньше следить за актуальностью кодовой базы на данном участке, так как тут используется функционал ядра.
 
    