承接 bgeneto/ci4-audits 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bgeneto/ci4-audits

最新稳定版本:v1.1.5

Composer 安装命令:

composer require bgeneto/ci4-audits

包简介

Simple and lightweight audit logging for CodeIgniter 4

README 文档

README

Simple and lightweight audit logging for CodeIgniter 4

Quick Start

  1. Install with Composer: > composer require bgeneto/ci4-audits
  2. Update the database: > php spark migrate --all
  3. Set up your models:
use Bgeneto\Audits\Traits\AuditsTrait;

class JobModel extends Model
{
	use AuditsTrait;

    // Configure event auditing callbacks by using either the class constructor or the model's initialize() method.
    protected function initialize(): void
    {
        parent::initialize();
    	$this->setAuditsCallbacks(['afterInsert', 'afterUpdate', 'afterDelete']);
    }

Features

Provides ready-to-use object logging for CodeIgniter 4

Installation

Install easily via Composer to take advantage of CodeIgniter 4's autoloading capabilities and always be up-to-date:

> composer require bgeneto/ci4-audits

Or, install manually by downloading the source files and adding the directory to app/Config/Autoload.php.

Once the files are downloaded and included in the autoload, run any library migrations to ensure the database is setup correctly:

> php spark migrate --all

Configuration (optional)

The library's default behavior can be altered by extending its config file. Copy examples/Audits.php to app/Config/Audits.php and follow the instructions in the comments. If no config file is found in app/Config the library will use its own.

Usage

Once the library is included all the resources are ready to go and you just need to specify which models and events to audit. Use AuditsTrait to add support to any models you would like tracked:

use Bgeneto\Audits\Traits\AuditsTrait;

class JobModel extends Model
{
	use AuditsTrait;

Then specify which events you want audited by assigning the corresponding audit methods for those events in the constructor (or initialize()):

public function __construct()
{
    parent::__construct();
	$this->setAuditsCallbacks(['afterInsert', 'afterUpdate', 'afterDelete']);    
}

The Audits library will create basic logs of each event in the audits table, for example:

id source source_id user_id event summary data created_at
10 sites 27 9 create 2 fields: name, phone (NULL) 2024-04-05 15:58:40
11 jobs 11 8 update 1 fields: description (NULL) 2024-04-05 16:01:35

If you want to log arbitrary data you can use the logEvent static method anywhere in your code:

use Bgeneto\Audits\Audits;

$formData = [
    'name'       => 'John Doe'
];

Audits::logEvent($formData, "Profile data changed");

The library will record the data (as json) in the audits table with the class and method names that called it, for example:

id source source_id user_id event summary data created_at
12 App\Controllers\User\Profile 0 2 update Profile data changed {"name":"John Doe"} 2024-04-06 10:59:01
13 App\Controllers\Login 0 3 action User Logged in {"user":"Foo Bar","email":"foo@bar.com"} 2024-04-06 11:00:05

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-02-21