corebase / project

CoreBase 服务项目

v1.0.4 2024-08-18 17:24 UTC

This package is auto-updated.

Last update: 2024-09-18 17:34:41 UTC


README

目录

I. 简介

II. 安装

III. 使用示例

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