juan/messenger

Laravel的简单用户消息工具

2.19 2019-07-11 17:23 UTC

README

Build Status Scrutinizer Scrutinizer Coverage Latest Version Total Downloads Software License Get help on Codementor

Laravel Messenger

此包将允许您将完整的用户消息系统添加到您的Laravel应用程序中。

留下一些反馈

您是如何使用laravel-messenger的?

功能

  • 每个用户可以有多个对话
  • 可选地,每次新消息时将额外用户循环进去
  • 查看每个线程的最后一条消息
  • 返回系统中的所有消息,与用户关联的所有消息,或与用户关联的所有消息(包括新/未读消息)
  • 轻松返回用户未读消息计数
  • 非常灵活的用法,您可以根据自己的需求实现访问控制

常见用途

  • 公开线程(每个人都可以看到所有内容)
  • 群组消息(只有参与者可以看到他们的线程)
  • 一对一消息(私人或直接线程)

安装(Laravel 4.x)

Laravel 4的安装说明可以在这里找到

安装(Laravel 5.x)

composer require Juan/messenger

或在composer.json中手动放置

"require": {
    "Juan/messenger": "~2.0"
}

运行

composer update

将服务提供者添加到config/app.php下的providers

'providers' => [
    Juan\Messenger\MessengerServiceProvider::class,
],

注意:如果您正在使用Laravel 5.5,此步骤是不必要的。Laravel Messenger支持Package Discovery

发布配置

php artisan vendor:publish --provider="Juan\Messenger\MessengerServiceProvider" --tag="config"

更新配置文件以引用您的用户模型

config/messenger.php

如果没有,请创建一个users表。如果您需要,默认的Laravel迁移将令人满意。

(可选)在包配置文件中定义数据库表的名称,如果您不想使用默认的名称

'messages_table' => 'messenger_messages',
'participants_table' => 'messenger_participants',
'threads_table' => 'messenger_threads',

发布迁移

php artisan vendor:publish --provider="Juan\Messenger\MessengerServiceProvider" --tag="migrations"

迁移您的数据库

php artisan migrate

将特性添加到您的用户模型中

use Juan\Messenger\Traits\Messagable;

class User extends Authenticatable {
    use Messagable;
}

示例

示例项目

贡献?

请在创建pull-request之前格式化您的代码。这将根据.php_cs中指定的格式来格式化所有文件。

vendor/bin/php-cs-fixer fix .

安全

如果您发现任何与安全相关的问题,请通过电子邮件Chris Gmyr联系,而不是使用问题跟踪器。

致谢

特别感谢

此包以AndreasHeiberg/laravel-messenger作为起点。