hinaloe / laravel-line-notify
LINE Notify Provider for Laravel 5 notification
Installs: 1 348
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 2
Forks: 5
Open Issues: 0
Requires
- php: >=7.0
- guzzlehttp/guzzle: ~6.0
- illuminate/notifications: ^5.3
This package is auto-updated.
Last update: 2024-11-07 07:27:00 UTC
README
LINE Notify Provider for Laravel 5.3+ Notification.
Requirements
- PHP 7.0+
- Laravel 5.3+ (Recommend 5.4+)
Usage
-
install package
$ composer require hinaloe/laravel-line-notify
-
Add
\Hinaloe\LineNotify\LineNotifyServiceProvider
toconfig/app.php
or like. -
Make notifable class (ex User Model entity)
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use Notifiable; // ... /** * @return string LINE Notify OAuth2 token */ protected function routeNotificationForLine() { return 'hogehogehoge'; } }
-
Make notification
<?php namespace App\Notifications; use App\User; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Notification; use Hinaloe\LineNotify\Message\LineMessage; class NewUserNotification extends Notification// implements ShouldQueue { use Queueable; /** @var User */ protected $user; /** * Create a new notification instance. * * @param User $user */ public function __construct(User $user) { $this->user = $user; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * * @return array */ public function via($notifiable) { return ['line']; } /** * @param mixed $notifable callee instance * @return LineMessage */ public function toLine($notifable) { return (new LineMessage())->message('New user: ' . $this->user->name) ->imageUrl('https://example.com/sample.jpg') // With image url (jpeg only) ->imageFile('/path/to/image.png') // With image file (png/jpg/gif will convert to jpg) ->sticker(40, 2); // With Sticker } }
-
call
$notifable->notify()
$user = User::find(114514); $user->notify(new NewUserNotification($user));