rlb / active-users
这是一个 Laravel 扩展包,用于轻松获取当前在线的活跃用户和访客列表。
2.1
2020-09-26 21:05 UTC
Requires
- php: >=7.2
- illuminate/support: ~5.6|~5.7|~5.8|^6.0|^7.0|^8.0
Requires (Dev)
- fzaninotto/faker: ^1.7
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-22 03:34:12 UTC
README
这是一个小巧简单的扩展包,用于查看谁目前在线。
安装
使用 composer 安装
composer require joshrainwater/active-users
设置
会话和数据库
目前,此扩展包仅支持 'database' 类型的会话存储。打开您的 .env 文件,将会话驱动程序更改为数据库
SESSION_DRIVER=database
并确保通过以下命令发布默认会话表
php artisan session:table
php artisan migrate
提供者和别名
为了使用 Active 类,请引用完整的供应商命名空间,或者只需在您要使用它的文件顶部导入该类。例如
\Rainwater\Active\Active::users();
或
use Rainwater\Active\Active;
Active::users();
此扩展包还包括提供者和别名以简化操作。要正确设置这些,请打开 config/app.php 并将以下内容添加到您的提供者数组中
Rainwater\Active\ActiveServiceProvider::class
并将以下内容添加到您的别名数组中
'Active' => Rainwater\Active\ActiveFacade::class
用法
获取最新活动
在顶部导入 Active 门面,然后执行简单查询。
// Import at the top
use Active;
// Find latest users
$users = Active::users()->get();
// Loop through and echo user's name
foreach ($users as $activity) {
echo $activity->user->name . '<br>';
}
默认情况下,'users' 方法将返回在过去 5 分钟内活跃的用户。如果您想显示不同的时间段,请使用以下函数
$users = Active::users(3)->get(); // Last 3 minutes
$users = Active::usersWithinSeconds(30)->get(); // Get active users within the last 30 seconds
$users = Active::usersWithinMinutes(10)->get(); // Get active users within the last 10 minutes
$users = Active::usersWithinHours(1)->get(); // Get active users within the last 1 hour
上面列出的所有函数都返回 Eloquent 查询,因此您可以像处理任何其他模型的结果一样处理这些结果
$numberOfUsers = Active::users()->count(); // Count the number of active users
排序方法
还有一些方便的方法用于排序结果
$users = Active::users()->mostRecent()->get(); // Get active users and sort them by most recent
$users = Active::users()->orderByUsers('email')->get(); // Sort by the email column on the users table.
访客
您还可以使用与用户相同的方法查看在线访客
$guests = Active::guests(1)->get(); // Last 1 minute
$guests = Active::guests(3)->get(); // Last 3 minutes
$guests = Active::guestsWithinSeconds(30)->get(); // Get active guests within the last 30 seconds
$guests = Active::guestsWithinMinutes(10)->get(); // Get active guests within the last 10 minutes
$guests = Active::guestsWithinHours(1)->get(); // Get active guests within the last 1 hour
$numberOfGuests = Active::guests()->count(); // Count the number of active guests
非常感谢 thomastkim/laravel-online-users,本扩展包在很大程度上基于此。
许可证
此扩展包是免费软件,根据 MIT 许可证条款分发。