relisoft / php-steam-user-library
用于从API获取数据的Steam PHP库
1.3
2018-11-21 11:16 UTC
Requires
- nette/caching: ^2.4
- nette/neon: ^2.4
- nette/sandbox: ^2.4
- nette/utils: ^2.4
README
此库可以帮助那些想要使用Steam API并从中获取用户数据的人。只需几行代码,您就可以获取关于用户的所有信息。
安装
composer require relisoft/php-steam-user-library
内容
- 用户摘要
- 朋友
- 游戏统计
- 缓存结果
- 最近玩过的游戏
- 库存(包含物品详情)
- 通过Steam登录
待办事项
- 成就
- 交易支持
如何使用它?
主页展示者
public function renderSingle() { $player = new Player("76561198151608925"); $request = new Request(); $request->getPlayerFriends($player,2); $request->getPlayerRecentlyPlayedGames($player); $request->getPlayerInventory($player,Games::CSGO); Dumper::dump($player); }
但是如果我们需要缓存结果怎么办?
我们将使用新功能,并将自动加载完整的用户资料并将其自动缓存。这是缓存功能调用,所以如果某些结果发生变化,它将自动重新加载数据。
public function renderSingle() { $player = new Player("76561198151608925"); $request = new Request(); $player = $request->getFullData($player); // This function will load full profile (profile, recent games, friends, inventory) $this->template->items = $player->getInventory()->getData(); }
转储
获取/设置数据
您在上面看到的每个变量都有一个get和set函数,您可以设置每个变量并获取它。
$player->getState() $player->getLastlogoff() $player->getFriends()
个人状态
个人状态是一个类,您可以将其从API值转换为英语语言或编辑为HTML返回值。
Relisoft\Steam\Src\API\PersonaState::getVerbState($player->getPersonaState())
登录
登录按钮
为此,我创建了一个带有两个静态函数的Button类,这两个函数将返回img的源链接。
<div class="container"> <a href="{link login!}"><img src="{Relisoft\Steam\Src\Login\Button::rectangle()}"></a> </div> Relisoft\Steam\Src\Login\Button::rectangle() Relisoft\Steam\Src\Login\Button::square()
登录函数
为此,我创建了一个名为Login的类,它使用$session存储用户数据。您必须添加自己的$session源或使用默认的$_SESSION。我这样做是因为我在所有项目中使用nette/http,它具有更好的session API。
创建实例
$this->login = new Login($this->session->getSection("steam")); OR $this->login = new Login($_SESSION);
用法
public function handleLogin() { $login = $this->login; if($login->isLogged()) // If is use logged in { $this->flashMessage("User is logged."); //Flash message like echo $this->redirect("single",$this->session->getSection("steam")->user); // This you can edit for your purpose } else { $object = $login->auth(); // Auth user and return states if($object) //IF SUCCESS RETURN STEAM ID { $this->flashMessage("successfuly logged in $object"); //Echo some text $this->redirect("single",$object); // Redirect to another page with parameter $object -> returning STEAM ID } elseif($object == $login::FAILED) { $this->flashMessage("Steam is not logged in!"); //Echo that's failed $this->redirect("this"); //Redirect } elseif($object == $login::CANCEL) //Echo that's your cancel process { $this->flashMessage("Cancel by user"); $this->redirect("this"); } } }
登录状态
const CANCEL = "cancel"; const SUCCESS = "success"; const FAILED = "failed";
依赖
- nette/utils
- nette/neon
- nette/caching
- PHP 5.4+