Skip to content

Einführung

Doggy Framework ist ein KI-natives, unternehmensorientiertes Low-Code-Entwicklungsframework, das auf Symfony 7.4 LTS (langfristiger Support bis 2029) aufbaut.

Warum Doggy?

  • KI-nativ: tiefe Integration von MCP, Agent, mehreren Modellen (Alibaba Bailian, OpenAI, LM Studio, Ollama usw.), mit integriertem LLM-Konfigurationssystem, globalem AI-Assistenten, KI-View-Verbesserung, Coding-Assistent, Natural-Language-Query und visueller Erkennung
  • Low-Code-Engine: definiert Geschäftsmodelle über PHP-8-Attribute in Kombination mit benutzerdefinierten @Ef-Annotationen und generiert automatisch Datenbank-Migrationen und Verwaltungsoberflächen
  • KI-gesteuerter View-Designer: Drag-and-Drop-Layout + KI-Operationen in natürlicher Sprache + Intent-Erkennungs-Sub-Agents zur View-Generierung + Mehrversionsverwaltung
  • Unternehmenssicherheit: WebAuthn-Passwortlos-Login, Drei-Rollen-Modell, Passwortrichtlinien, durchgängiges Audit-Protokoll
  • Echtzeitkommunikation: Echtzeit-Push auf Basis von Mercure-SSE, FrankenPHP mit integriertem Hub, keine zusätzlichen Dienste erforderlich
  • Hohe Leistung: FrankenPHP-Worker-Modus + zstd/br-Komprimierung, PostgreSQL-first-Architektur
  • Vollständiges Ökosystem: Organisationsstruktur, geplante Aufgaben, Dateispeicher, E-Mail-System, SunUI-Komponentenbibliothek usw. — alles einsatzbereit

Technologie-Stack

EbeneTechnologie
SprachePHP 8.2+
FrameworkSymfony 7.4 LTS
LaufzeitFrankenPHP (Worker-Modus) via runtime/frankenphp-symfony
DatenbankPostgreSQL 14+
ORMDoctrine ORM + StofDoctrineExtensionsBundle (Gedmo)
NachrichtenwarteschlangeSymfony Messenger (Doctrine Transport)
EchtzeitkommunikationMercure SSE (dunglas/mercure)
KISymfony AI (MCP, Agent, Store, Multi-Plattform-Unterstützung)
AuthentifizierungWebAuthn (web-auth/webauthn-symfony-bundle) + JWT (firebase/jwt)
DateispeicherLeague Flysystem (Local / OSS / S3)
FrontendTwig + jQuery + SunUI-Komponentenbibliothek
WerkzeugePHPSpreadsheet, Imagine, Predis, Ramsey UUID

Systemanforderungen

  • PHP >= 8.2
  • ext-ctype, ext-iconv
  • PostgreSQL >= 14
  • Composer >= 2.5

Schnellstart

Installation

bash
git clone git@github.com:doggy/skeleton.git my-app
cd my-app

Umgebungskonfiguration

bash
cp .env.example .env
# 编辑 .env 配置数据库连接与 Mercure JWT 密钥

Datenbank starten

PostgreSQL muss separat installiert und ausgeführt werden:

bash
# macOS
brew install postgresql@14
brew services start postgresql@14
createdb app

# Ubuntu/Debian
sudo apt install postgresql-14
sudo systemctl start postgresql
sudo -u postgres createdb app

Der Mercure Hub ist in FrankenPHP eingebaut und muss nicht separat gestartet werden.

Zugriff

Verzeichnisstruktur

config/
├── bundles.php          # 已启用的 Symfony Bundle 列表
├── packages/            # 各 Bundle 配置
└── services.yaml

src/
├── Annotation/          # 自定义注解:Ef.php, EfGroup.php
├── Command/             # 16 个 Console 命令
├── Controller/          # Admin, Api, Security 控制器
├── Entity/              # Doctrine 实体 + CommonTrait
│   ├── Organization/    # Department, Position 等
│   ├── Platform/        # 平台相关实体
│   ├── Security/        # User, Role, Permission
│   ├── Storage/         # 文件存储实体
│   └── System/          # 系统配置实体
├── Form/                # 表单类型
├── Message/             # 异步消息
├── MessageHandler/      # 消息处理器
├── Repository/          # Doctrine Repository
├── Security/            # WebAuthn, JWT, Voter
├── Service/             # AI, Calendar, Security, Storage, Task, View 等
└── Twig/                # TwigExtension

Caddyfile                # FrankenPHP 配置(含 Mercure Hub、压缩、缓存)

Aktivierte Kern-Bundles

BundleZweck
FrameworkBundleSymfony-Kern
DoctrineBundle + MigrationsBundleDatenbank-ORM und Migrationen
SecurityBundleSicherheitsauthentifizierung und -autorisierung
TwigBundle + TwigExtraBundleTemplate-Engine
MonologBundleProtokollierung
StofDoctrineExtensionsBundleGedmo-Erweiterungen (Baum, Zeitstempel, Soft-Delete usw.)
NelmioCorsBundleCORS-Unterstützung
WebauthnBundleWebAuthn-Passwortlos-Authentifizierung
MercureBundleEchtzeit-Nachrichten-Push
AiBundleSymfony-AI-Integration
FlysystemBundleAbstraktion des Dateispeichers
HautelookAliceBundleTestdaten-Fixtures

Kernkonzepte

Dynamisches Modell

Über @Ef-Annotationen werden Geschäftsfelder markiert, Modelle in Kombination mit PHP-8-Attributen definiert und automatisch:

  • Datenbank-Migrationen generiert
  • CRUD-Oberflächen gerendert
  • Datenvalidierungsregeln erstellt
  • Berechtigungsprüfungen durchgeführt
php
use App\Annotation\Ef;

class Department
{
    #[Ef(displayName: '部门名称', required: true)]
    private string $name;

    #[Ef(displayName: '部门编码', searchable: true)]
    private string $code;
}

Referenz: Dynamisches Modell

Gemeinsames Entitäts-Trait

Alle Entitäten kombinieren über CommonTrait die folgenden Fähigkeiten:

CommonTrait
├── BlameableTrait      # 创建人/更新人自动记录
├── TimestampableTrait  # 创建时间/更新时间自动记录
├── SoftDeleteTrait     # 软删除
└── IdTrait             # 自增主键

Organisationsstruktur

Mehrstufiger Abteilungsbaum (Nested Set), Mitarbeiterverwaltung, Stellensystem, mit Unterstützung für:

  • Unbegrenzt tiefen Abteilungsbaum (Gedmo NestedTree)
  • Mehrfachzuordnung zu Firmen und Abteilungen
  • Stellen- und Besoldungsgruppen-System
  • Massenimport und -export von Benutzern (PHPSpreadsheet)

Referenz: Organisationsstruktur

Sicherheitssystem

  • WebAuthn-Passwortlos-Login (unterstützt Passkey, Sicherheitsschlüssel, biometrische Erkennung)
  • Drei-Rollen-Modell (Systemadministrator, Sicherheitsadministrator, Audit-Administrator)
  • Passwort-Komplexitäts- und Gültigkeitsrichtlinien
  • Durchgängige Operations-Auditierung

Referenz: WebAuthn-Authentifizierung

Ressourcen

Open Source unter MIT | Copyright © 2026 Doggy