healthaware / slim-access-log
用于与Slim框架应用程序一起使用的访问审计中间件
v2.1.0
2022-05-14 00:58 UTC
Requires
- php: >=8.0
- ext-json: *
- ext-pdo: *
- psr/http-server-handler: ^1.0
- slim/psr7: ^1.5
README
一个简单的访问审计中间件,旨在与Slim框架应用程序一起使用。
安装(快速版本)
-
包含包(确保您正在使用Slim的自动加载器)
(shell)
composer require jstnryan/slim-access-log
-
创建一个空数据库(MySql、MariaDB等),并构建结构
(shell)
mysql -uUSER -pPASS < ./schema.sql
-
配置和使用
<?php require 'vendor/autoload.php'; //instantiate the app $settings = require_once(__DIR__ . '/settings.php'); $app = new \Slim\App($settings); //get container reference $container = $app->getContainer(); //PDO for writing to DB $container['audit_database'] = function ($c) { $pdo = new PDO("mysql:host=127.0.0.1;dbname=audit;charset=utf8", 'username', 'password'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); return $pdo; }; //audit log middleware factory $container['accessLog'] = function($c) { $settings = [ 'tableName' => 'accessLog', 'idColumn' => 'accessLogID', 'writeOnce' => false, 'custom' => [], 'captureResponse' => false, 'ignoredPaths' => [ '/exclude-all-paths/under-this-root', ], ]; return new \jstnryan\AccessLog\AccessLog($c->audit_database, $settings); }; //attach middleware class $app->add($app->getContainer()->get('accessLog')); //more config, middleware, routes an' stuff here... $app->run();