jeyroik / extas-player-current
此包最新版本(0.1.0)没有可用的许可证信息。
Extas 当前播放器包
0.1.0
2020-03-24 12:28 UTC
Requires
This package is auto-updated.
Last update: 2024-09-16 20:59:50 UTC
README
描述
此包包含用于通过插件获取当前授权用户的包装器。
内容
- 安装
- 使用
- 连接自定义认证方式
- 示例
- 插件
- 在 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); } } }
在 extas 兼容配置中记录
{
"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