承接 daemon8/symfony 相关项目开发

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

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

daemon8/symfony

最新稳定版本:v0.1.0

Composer 安装命令:

composer require daemon8/symfony

包简介

Symfony integration for Daemon8 -- automatic runtime observation via event subscribers

README 文档

README

Auto-instrument Symfony 6.4 LTS / 7.x apps for Daemon8. Requests, Doctrine queries, exceptions, Messenger, HTTP client, security events, and Monolog — captured automatically.

Tip

Help keep Daemon8 open source — star the main repo.

Install

composer require daemon8/symfony
daemon8 install   # if you haven't already

Symfony Flex publishes config/packages/daemon8.yaml and registers the bundle. No Flex? Add Daemon8\Symfony\Daemon8Bundle::class => ['all' => true] to config/bundles.php.

Requires the Daemon8 daemon running locally. Without it, the bundle is a silent no-op.

Usage

Everything streams automatically after install. Emit manually by injecting Daemon8Client:

use Daemon8\Daemon8Client;

final class CheckoutService
{
    public function __construct(private readonly Daemon8Client $daemon8) {}

    public function process(Order $order): void
    {
        $this->daemon8->log('processing order #' . $order->id);
        $this->daemon8->send(
            ['event' => 'checkout', 'order_id' => $order->id],
            severity: 'info',
            channel: 'orders',
        );
    }
}

In dev mode, the WebProfiler toolbar shows a Daemon8 panel with every observation from the current request.

Configuration

DAEMON8_ENABLED=true
DAEMON8_URL=http://127.0.0.1:9077/ingest
DAEMON8_APP=checkout-api
DAEMON8_TIMEOUT_MS=50

Per-subscriber toggles in config/packages/daemon8.yaml. Soft deps (Doctrine, Messenger, Mailer, etc.) are auto-detected — removing a package never crashes the bundle.

Respondents

React to observations in real time. Any service implementing Respondent is auto-tagged:

use Daemon8\Contracts\Respondent;
use Daemon8\Filter;
use Daemon8\Observation;
use Daemon8\Severity;

final class SlowQueryAnalyst implements Respondent
{
    public function interest(): Filter
    {
        return new Filter(kinds: ['query'], severityMin: Severity::Warn);
    }

    public function respond(Observation $observation): void
    {
        // Full container access — Entity Manager, mailer, logger, anything.
    }
}

Run the subscriber: bin/console daemon8:run

Requirements

  • PHP 8.4+
  • Symfony 6.4 LTS or 7.x
  • Daemon8 daemon running locally

Development

composer install
composer check      # phpstan + rector dry-run + phpcs + phpunit

Links

Docs · Demo · Contact

License

MIT. See LICENSE.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-21

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固