happydemon / usrlastly
跟踪用户的最后访问
0.2
2015-04-03 06:51 UTC
Requires
- php: >=5.4.0
- laravel/framework: 5.*
This package is auto-updated.
Last update: 2024-09-12 21:43:54 UTC
README
这个小巧的包使得存储和检索用户的“最后查看”状态变得非常简单。
这是一个易于扩展的轻量级实现。
它使用中间件来检查用户是否已登录,如果是,则会存储用户当前的访问。
安装
首先通过运行以下命令将包添加到您的composer文件中
composer require happydemon/usrlastly
这将安装最新版本。
接下来在app.php配置中添加服务提供者
'providers' => [ ... 'HappyDemon\UsrLastly\UsrLastlyServiceProvider', ]
接下来发布配置文件
php artisan vendor:publish
现在,在app/Http/Kernel.php中将LastSeenMiddleware
注册为全局中间件的时间到了
protected $middleware = [ ... 'HappyDemon\UsrLastly\Middleware\LastSeenMiddleware' ];
最后,让我们转向用户模型,打开它并添加所需的特性
在类引用之上引用特性
use HappyDemon\UsrLastly\LastSeenTrait as LastSeen;
然后在用户模型中添加
use LastSeen;
存储
我捆绑了两种类型的存储,这是“最后查看状态”的存储位置。
您可以将此状态存储在数据库中或使用Redis。
数据库
要使用此包工作,您首先需要发布和运行数据库迁移
php artisan vendor:publish --provider="HappyDemon\UsrLastly\UsrLastlyServiceProvider" --tag="migrations" php artisan migrate
这应该已经准备好了您的数据库,您应该可以开始使用了。
Redis
这种存储需要的设置更少,您只需要打开config/userlastly.php
并将storage
键更改为redis
用户提供者
我确信并非每个人都使用Laravel内置的Auth来处理用户认证,所以我也将这部分提取出来,但到目前为止,这是唯一实现的认证。
这是包使用的部分,不是其他开发者应该担心的事情。
我们可以分三步完成这项工作
- 创建一个实现了
HappyDemon\UsrLastly\User
的类,该类有一个返回已登录用户或false的getUser()
方法 - 将此类绑定到Laravel的容器中
- 将
config/userlastly.php
中的user_provider
键更改为绑定名称
您可以在文档中查看工作示例。
检索“最后查看”状态
像平常一样加载您的用户并调用lastSeen()
,例如,我将仅从数据库中获取第一个用户
$user = User::find(1); dd($user->lastSeen());
该方法应返回一个包含两个属性的对象
- date是一个
Carbon
日期对象 - request,一个数组,包含有关用户位置的信息