ホームページ  >  記事  >  バックエンド開発  >  Laravel Notifynder 拡張機能を使用すると、Laravel アプリケーションのメッセージ通知機能を簡単に実装できます

Laravel Notifynder 拡張機能を使用すると、Laravel アプリケーションのメッセージ通知機能を簡単に実装できます

WBOY
WBOYオリジナル
2016-06-20 12:25:461438ブラウズ

1. はじめに

Notifynder は、強力なメッセージ通知管理機能を簡単な方法で提供します。Notifynder が提供する完全な API が利用可能です。数百または数千の通知の保存、取得、整理など、さまざまな通知を処理するためのコード ベース。 Notifynder を使用すると、Laravel プロジェクトでメッセージ通知を数分で「有効」にすることができます。

現在サポートされているデータベースには、MySQL、Postgres、SQLite が含まれます。

2. インストール

Composer を使用して拡張機能をインストールします。

composer require fenos/notifynder

次に、config/app.php にサービス プロバイダーを登録します。 🎜>

Fenos\Notifynder\NotifynderServiceProvider::class,
およびファサード:

'Notifynder' => Fenos\Notifynder\Facades\Notifynder::class,
拡張パッケージの構成ファイルを config ディレクトリに公開します:

php artisan vendor:publish --provider="Fenos\Notifynder\NotifynderServiceProvider"
最後にデータベース移行を実行して、対応するファイルを生成しますデータテーブル:

php artisan migrate

3. すぐに始めましょう

カテゴリを作成します

Notifynder を使い始める前に、Notifynder という用語を簡単に理解する必要があります。 Notifynder の「カテゴリ」 責任の中で、カテゴリはメッセージ通知の本体であり、一意の名前で区別され、対応する通知テキストを持ちます。管理とメンテナンスを容易にするために、各通知をカテゴリにバインドする必要があります。

まず、Notifynder が提供する Artisan コマンドを使用してカテゴリを作成します:

php artisan notifynder:create:category "user.following" "{from.username} started to follow you"
これにより、データベース notification_categories テーブルに新しいレコードが作成されます:

関数の実装

次に、通知されるモデルを決定します。通常、この選択されたモデル クラスは Notifable Trait を使用する必要があります。

use Fenos\Notifynder\Notifable;class User extends Model{    use Notifable;}
これは、モデル エンティティです。メッセージ通知を処理できます:

$user = User::find(1);$user->getNotifications($limit = null, $paginate = null, $order = 'desc');$user->getNotificationsNotRead($limit = null, $paginate = null, $order = 'desc');$user->getLastNotification();$user->countNotificationsNotRead($category = null);$user->readAllNotifications();

注: Notifable Trait を使用したくない場合は、Notifynder ファサードで対応するメソッドを直接使用することもできます。

4. 通知を送信する

通知の送信は非常に簡単です:

$from_user_id = 1;$to_user_id = 2;Notifynder::category('user.following')            ->from($from_user_id)            ->to($to_user_id)            ->url('http://laravelacademy.org/notifications')            ->send();
通知を送信したら、 notification:

$userNotified = User::find($to_user_id);dd($userNotified->getNotificationsNotRead());
ここでは、複数のユーザーに通知を一度に送信することもできます:

// It send a notification to all the userstry {    $this->notifynder->loop($users, function(NotifynderBuilder $builder, $user) {       $builder->category('sayhello')           ->from(1)           ->to($user->id)           ->url('http://localhost')           ->extra(compact('period_day'));    })->send();} catch (EntityNotIterableException $e) {} catch (IterableIsEmptyException $e) {}
詳しい使用法については、公式ドキュメントを参照してください: https ://github.com/fenos/Notifynder/wiki

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。