algolia search

Tìm thấy x bài viết trong xms.

Đôi khi, cách bạn muốn phát triển các thông báo ở định dạng HTML hoặc markdown. Nhưng làm thế nào để bạn định dạng chúng dễ dàng mà không phải gửi chúng mỗi khi bạn thay đổi điều gì đó? Laravel cung cấp giải pháp vượt trội cho việc này. Trong web.php của bạn có thể dễ dàng trả lại thông báo để hiển thị nó  trong trình duyệt web của bạn.

Code thôi

Tạo một Notification mẫu qua câu lệnh

php artisan make:notification InvoicePaid

Tiếp theo chúng ta thêm vài dòng vào web.php

<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
$router->get('/notification', function () {
    $notification = new \App\Notifications\InvoicePaid;
    return $notification->toMail('test@example.com');
});

Render Notification trên thực tế ở đây là MailMessage và chúng ta trả về phương thức toMail

Rendering markdown notifications

Laravel cũng hỗ trợ gửi thông báo dạng markdown và thật tuyệt khi có thể xem trước những thông báo này trong trình duyệt. Đối với loại thông báo này, chúng ta cần có một chút chỉnh sửa:

<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
$router->get('/notification', function () {
    $notification = (new \App\Notifications\InvoicePaid)->toMail('test@example.com');
    $markdown = new \Illuminate\Mail\Markdown(view(), config('mail.markdown'));
    return $markdown->render($notification->markdown, $notification->data());
});

Mở trình duyệt truy cập vào đường dẫn /notification và xem kết quả

Rendering On-Demand Notifications

Tất cả các đối tượng sử dụng Notifiable có thể được thông báo qua kênh mong muốn của họ. Đây là một tính năng tuyệt vời trong Laravel. Nhưng có những lúc bạn muốn gửi thông báo đến email hoặc số điện thoại di động không phải là Notifiable instance. Laravel gọi đó là On-Demand Notifications 

<?php
use Illuminate\Notifications\AnonymousNotifiable;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
$router->get('/notification', function () {
    $user = new AnonymousNotifiable;
    $notification = (new \App\Notifications\InvoicePaid)->toMail($user->route('mail', ['test@example.nl']));
    $markdown = new \Illuminate\Mail\Markdown(view(), config('mail.markdown'));
    return $markdown->render($notification->markdown, $notification->data());
});

 

Nguồn: dev.to

Đánh giá bài viết

Thích thì like
Preview Laravel markdown Notifications trực tiếp trên trình duyệt
3/5 2 votes

Bình luận

Hiển thị bình luận Facebook