Трейты - фрагменты кода, оторванные от контекста и их можно использовать в самых разных местах. Они добавляют свои методы к вашим собственным классам. Так, при разработке расширений порой нужно работать с текущим пользователем сайта: гость он или авторизованный? Если авторизованный, то к какой группе доступа принадлежит? И так далее.

Начиная с 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();
   }
}

И таким образом можно меньше следить за актуальностью кодовой базы на данном участке, так как тут используется функционал ядра.

 

Толкачев Сергей Юрьевич
Толкачев Сергей Юрьевич

Joomla-разработчик. Контрибьютер ядра Joomla. Один из ведущих Telegram-канала русскоязычного Joomla-сообщества JoomlaFeed, один из модераторов чата русскоязычного Joomla-сообщества. Мои расширения в официальном маркетплейсе расширений Joomla - Joomla Extensions Directory. Имею публикации в официальном журнале международного Joomla-сообщества - Joomla Community Magazine.

Муж. Отец 3 детей.

Россия, Саратов.

Расширения Joomla WebTolk

90 Всего расширений
11 Категорий
401 Выпущено версий
396887 Всего скачиваний
Корзина
Корзина пуста