corebase / project
CoreBase service project
v1.0.4
2024-08-18 17:24 UTC
Requires
- php: ^8.1
README
- Mọi thắc mắc liên hệ qua face Liên hệ
Mục lục
I. Giới thiệu
- Build thư viện này nhằm mục đích tiết kiệm thời gian code lại, copy từ dự án này qua dự án khác
- Tăng hiệu năng trong công việc hihi.
II. Cài đặt
composer require corebase/project
Khai báo service config/app.php
'providers' => ServiceProvider::defaultProviders()->merge([ /* * Package Service Providers... */ /* * Application Service Providers... */ ... Core\Project\Providers\CoreServiceProvider::class, ... ])->toArray(),
Publish config, migrate
php artisan vendor:publish --tag="core_project_migrate"
III. Ví dụ sử dụng
Ví dụ về việc logs lại quá trình gủi email
Code mẫu
<?php namespace App\Jobs; use App\Mail\SendMailTest; use Core\Project\Illuminate\LogEmail\LogEmailEvent; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Facades\Mail; class JobSendEmailTest implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; protected $data; /** * Create a new job instance. */ public function __construct($data) { $this->data = $data; } /** * Execute the job. */ public function handle(): void { try { $mailable = new SendMailTest($this->data); Mail::to("codethue94@gmail.com")->send($mailable); event(new LogEmailEvent("codethue94@gmail.com", $this->data['title'] ?? "", $this->data['body'] ?? "", 'success')); } catch (\Exception $e) { event(new LogEmailEvent("codethue94@gmail.com", $this->data['title'] ?? "", $this->data['body'] ?? "", 'failure', $e->getMessage())); } } }
Để xoá logs email bạn có thể sử dụng command
php artisan logs-email:delete-old 100
- mặc đinh hệ thống sẽ xoá logs sau 30 ngày
- Nếu muốn tăng số ngày thì bạn truyền số ngày
- Mình cũng đã set job chạy hàng tuần để xoá dữ liệu các bạn có thể setup crontab cho project để job có thể chạy
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1