samuelnogueira / zend-expressive-new-relic

将New Relic集成到Zend Expressive

0.7.1 2024-04-03 20:45 UTC

README

Packagist PHP Version Support Latest Version on Packagist Software License

PSR-15中间件,用于Mezzio应用的New Relic工具

⚠️ 在异步应用(例如Swoole协程)中无法正确工作 ⚠️

需求

  • PHP ^7.3 或 ^8.0
  • 一个Mezzio应用(以前称为Zend Expressive)

安装

此包可通过Composer安装和自动加载,地址为samuelnogueira/zend-expressive-new-relic

composer require samuelnogueira/zend-expressive-new-relic

示例

<?php // config/pipeline.php

use Samuelnogueira\ZendExpressiveNewRelic\Middleware\NewRelicMiddleware;
use Samuelnogueira\ZendExpressiveNewRelic\Middleware\NewRelicTransactionNameMiddleware;
use Mezzio\Router\Middleware\RouteMiddleware;
use Mezzio\Application;

return static function (Application $app): void {
    // (...)
    
    // Profiling middleware 2nd most outer middleware to profile everything
    if (extension_loaded('newrelic')) {
        $app->pipe(NewRelicMiddleware::class);
    }
    
    // (...)

    // Register the routing middleware in the middleware pipeline
    $app->pipe(RouteMiddleware::class);

    // Add more middleware here that needs to introspect the routing results; this
    // might include:
    //
    // - route-based authentication
    // - route-based validation
    // - etc.
    if (extension_loaded('newrelic')) {
        $app->pipe(NewRelicTransactionNameMiddleware::class);
    }
    
    // (...)
};

MIT许可证(MIT)。更多信息请参阅LICENSE