Пакет содержит обёртку для получения текущего авторизованного пользователя с помощью плагинов.
Содержание
- Установка
- Использование
- Подключение своего способа авторизации
- Пример
- Плагин
- Запись в extas-совместимой конфигурации
- Установка плагина
- Пример
- Применение
- Подключение своего способа авторизации
composer require jeyroik/extas-player-current:*
Чтобы подключить свой способ авторизации пользователя необходимо лишь реализовать плагин.
Стадия = extas.player.current
Вход: \extas\interfaces\players\IPlayer
Выход: void
namespace my\extas\plugins;
use \extas\components\plugins\Plugin;
use \extas\interfaces\players\IPlayer;
use \extas\interfaces\players\IPlayerRepository;
class PluginCookieCurrentPlayer extends Plugin
{
public function __invoke(IPlayer &$player)
{
if (isset($_COOKIE['extas.player'])) {
$playerName = $_COOKIE['extas.player'];
/**
* var $playerRepo IPlayerRepository
*/
$playerRepo = SystemContainer::getItem(IPlayerRepository::class);
$currentPlayer = $playerRepo->one([IPlayer::FIELD__NAME => $playerName]);
$currentPlayer && ($player = $currentPlayer);
}
}
}
{
"plugins": [
{
"class": "my\\extas\\plugins\\PluginCookieCurrentPlayer",
"stage": "extas.player.current"
}
]
}
# /vendor/bin/extas i
setcookie('extas.player', 'jeyroik', time() + 3000, '/');
use \extas\components\players\Current;
echo Current::player()->getName(); // jeyroik