happydemon/usrlastly

跟踪用户的最后访问

0.2 2015-04-03 06:51 UTC

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,一个数组,包含有关用户位置的信息