corebase / project
CoreBase 服务项目
v1.0.4
2024-08-18 17:24 UTC
Requires
- php: ^8.1
README
- 有任何疑问请联系 face Liên hệ
目录
I. 简介
- 构建此库的目的是为了节省代码重写和项目间复制的时间
- 提高工作效率 hahaha。
II. 安装
composer require corebase/project
在 config/app.php 中声明服务配置
'providers' => ServiceProvider::defaultProviders()->merge([ /* * Package Service Providers... */ /* * Application Service Providers... */ ... Core\Project\Providers\CoreServiceProvider::class, ... ])->toArray(),
发布配置,迁移
php artisan vendor:publish --tag="core_project_migrate"
III. 使用示例
关于记录发送邮件过程的示例
代码示例
<?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())); } } }
要删除邮件日志,可以使用以下命令
php artisan logs-email:delete-old 100
- 默认系统会在30天后删除日志
- 如果想要增加天数,请传入天数
- 我已经设置了每周运行一次的作业来删除数据,您可以为项目设置 crontab 以使作业能够运行
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1