我在我的 Laravel 4 项目中使用包“Steam Condenser”。一旦用户登录到我的应用程序,我就会使用他们的 ID (steamId) 设置一个会话。此 ID 可用于获取各种数据(姓名、头像等),例如:
$steamUser = new SteamId( Session::get('steamId') );
$username = $steamUser->getNickname();
现在这可行,但是我将在很多页面上(以及在控制器中)使用这些数据。我不想做的是每次都宣布一个新课程 - 所以我的问题是:
- 可以创建 SteamId,所以在我的控制器中我只需要说
$username = $steamUser->getNickname();
- 显然只有当(Session::has('steamId'))
它是真的。
我看到了两种方法:
- 通过 __constructor,但是我无法让它工作(非常失败)。
- 通过路由过滤器。因此,创建一个新的过滤器名称,并为每条路线做一个
'before' => 'filter'
. 然而,这可能变得非常过分。
我希望这是有道理的(我的 PHP 知识不是很好)——基本上我不想一直这样做new SteamId( Session::get('steamId') );
!