Preview Laravel markdown Notifications trực tiếp trên trình duyệt
Đô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('[email protected]');
});
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('[email protected]');
$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', ['[email protected]']));
$markdown = new \Illuminate\Mail\Markdown(view(), config('mail.markdown'));
return $markdown->render($notification->markdown, $notification->data());
});
Nguồn: dev.to
Ủng hộ Chung Nguyễn Blog
Chung Nguyễn Blog sử dụng FlashVPS - Dịch vụ quản trị máy chủ chuyên nghiệp để quản lý VPS
#FlashVPS là dịch vụ cloud panel trên nền tảng web hỗ trợ khách hàng:
- * Quản lý máy chủ số lượng nhiều
- * Không có kinh nghiệm quản lý máy chủ
- * Thích sử dụng giao diện web đơn giản, trực quan hơn terminal
- * Quá nhàm chán với việc ghi nhớ và lặp lại việc gõ các câu lệnh
- * Muốn tự động hóa mọi thao tác
- * Muốn tiết kiệm thời gian quản trị máy chủ
- * Muốn tiết kiệm tiền bạc, nhân lực quản trị máy chủ 👉 https://flashvps.dev
Các bài viết trên website thường xuyên được đăng tải và cập nhật trên trang Facebook Chung Nguyễn Blog hãy tặng cho Chung một LIKE nhé! Mãi yêu các bạn!
813 👍
Bình luận