Download the PHP package wundii/flowcrafter without Composer

On this page you can find all versions of the php package wundii/flowcrafter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package flowcrafter

flowcrafter

PHP-Tests PHPStan VERSION PHP Rector ECS PHPUnit codecov Downloads

PHP-Engine für message-driven Workflows — Geschäftsprozesse als typsichere State Machines in reinem PHP, mit synchroner, asynchroner und zeitgesteuerter Ausführung und lückenlosem Audit-Log.

Ein Workflow besteht aus typisierten Messages, die zwischen Steps fließen. Das Routing schreibt man nicht — es ergibt sich aus den Constructor-Signaturen der Steps: Welche Message ein Step im Constructor verlangt, bestimmt, wann er läuft. Daraus entsteht ein typsicherer DAG, der sich versionieren, ausführen und in Echtzeit überwachen lässt. Kein YAML, kein XML, keine Annotations.

Features

Installation

Quickstart

Schritt für Schritt: docs/getting-started.md.

Beispiel

Ein vollständiger Order-Flow in drei Bausteinen — Messages, Steps, Flow.

1. Messages

readonly Value-Objects. Drei Typen steuern das Routing: Init startet den Flow, Data fließt zwischen Steps, Return beendet ihn.

Braucht der erste Step keinen externen Input, gibt es die mitgelieferte Wundii\Flowcrafter\EmptyInitMessage statt einer eigenen Init-Klasse.

2. Steps

Reine PHP-Klassen. Der Constructor-Typ entscheidet das Routing, der Rückgabetyp den weiteren Verlauf: MessageData (Flow läuft weiter), MessageReturn (Flow endet) oder bool (Leaf-Result, kein Weiterleiten).

3. Flow

Das Schema entsteht via FlowBuilder. Hier konsumieren CompleteOrderStep und AuditStep dieselbe OrderValidated-Message — also laufen sie parallel.

Das passende Diagramm liefert vendor/bin/flowcrafter diagram:mermaid App\\OrderFlow:

Flows auslösen

Synchron — direkter Aufruf, Ergebnis sofort verfügbar:

Asynchron — Message in die Queue legen, ein FlowObserver-Worker führt sie aus:

Zeitgesteuert — Schedule-Klasse mit Cron-Ausdruck, automatisch vom FlowScheduler aus dem Composer-Classmap entdeckt:

Per REST-API geht es auch: POST /api/flow/flow-run (synchron) bzw. POST /api/queue/enqueue (async) — siehe docs/api.md.

Weitere Funktionen

Step Retry

Steps können bei transienten Fehlern automatisch wiederholt werden — konfiguriert pro Step über addStep(retries:, delay:). retries: 3 bedeutet ein Erstversuch plus drei Wiederholungen; die Retry-Konfiguration fließt in den Schema-Hash ein.

Read-Model-Projektionen

Projection-Handler reagieren asynchron auf einzelne Messages eines Flows — ideal für Read Models, Benachrichtigungen oder Side-Effects. Jede Methode wird per #[FlowProjectionMessage] an einen Message-Source gebunden, die Klasse per #[FlowProjection] an einen oder mehrere Flow-Typen. Handler werden automatisch aus dem Composer-Classmap entdeckt und vom ProjectionWorker (vendor/bin/flowcrafter projection:worker) abgearbeitet.

Die Zustellung ist at-least-once — Handler-Methoden müssen idempotent sein. Wirft eine Methode, wird die Exception als ProjectionException protokolliert und mit der nächsten Message weitergemacht; die Queue blockiert nicht.

Dependency Injection

Steps erhalten neben Messages auch externe Services per Constructor-Injection. Registriert werden sie über eine DependencyRegistry (per FlowcrafterConfig::setDependencyRegistry() bzw. im Konstruktor von FlowRunner, FlowScheduler, FlowObserver, ProjectionWorker). Jede Registrierungsart ist eine benannte Methode:

Methode Verhalten
instance(object) Konkrete Instanz, gebunden an die eigene Klasse
bind(string $id, object\|class) Interface-Binding: Objekt → synthetic + Alias; class-string → autowire + Alias
autowire(class) Einzelklasse per Autowiring
autowireNamespace(string) Alle instanziierbaren Klassen unter einem PSR-4-Namespace
autowireDirectory(string) Alle instanziierbaren Klassen unter einem Verzeichnis
factory(class, Closure, ?alias) Lazy: Closure erhält den PSR-11-Container und liefert den Service

Testing

Storageless mit FlowTestCase — kein Docker nötig. Vollständiger Leitfaden: docs/testing.md.

Web-UI

Das optionale Frontend FlowCrafter UI visualisiert Flows, Messages, Exceptions, Schedules und Queues in Echtzeit:

Overview

Flow Detail

Flow Input Modal

Flow Devtool

## Claude Code Plugin Das optionale Plugin [flowcrafter-claude](https://github.com/wundii/flowcrafter-claude) erweitert [Claude Code](https://claude.ai/code) um Flowcrafter-Wissen — Flows, Steps, Messages, Projektionen und Schedules lassen sich per Slash-Command generieren und analysieren. | Command | Beschreibung | |----------------------|----------------------------------------------------------| | `/create-flow` | Flow-Klasse mit FlowBuilder-DSL generieren | | `/create-step` | Step-Klasse mit Message-Injection generieren | | `/create-message` | Message-Klasse (init / data / return) generieren | | `/create-projection` | Projection-Handler für asynchrone Read Models generieren | | `/create-schedule` | Schedule-Klasse mit Cron-Ausdruck generieren | | `/analyze-flow` | Flow auf Fehler und Verbesserungen prüfen | Der `flowcrafter`-Skill aktiviert sich zusätzlich automatisch, sobald Flowcrafter-Begriffe im Gespräch auftauchen. ## Dokumentation | Kapitel | Inhalt | |--------------------------------------------|-------------------------------------------------------------------------------| | [Getting Started](docs/getting-started.md) | Erste Schritte: Config, Storage, Dev-Server | | [Konzepte](docs/concepts.md) | Ausführung, Status, Retry, runOnce, includeSteps, Ephemeral, Versionierung, Observer, Scheduler, Projektion | | [Konfiguration](docs/configuration.md) | `flowcrafter.php`, Storage- & Queue-Backends, Service-Index, Server, DI | | [Console Commands](docs/commands.md) | Command-Referenz | | [REST-API](docs/api.md) | Endpunkte, Pagination, Auth | | [Testing](docs/testing.md) | Flows & Steps testen mit PHPUnit 11+ | | [Deployment](docs/deployment.md) | Produktion: FrankenPHP + Docker, Zustellgarantien, Sicherheits-Checkliste | | [Monitoring](docs/monitoring.md) | Prometheus / OpenMetrics, CheckMK | | [Entwicklung](docs/development.md) | QA-Scripts für Contributor | ## Lizenz MIT — siehe [LICENCE](LICENCE).

All versions of flowcrafter with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
ext-pdo Version *
ext-pdo_sqlite Version *
dragonmantank/cron-expression Version ^3.6
ramsey/uuid Version ^4.9.3
symfony/config Version ^7.4.10 | ^8.1.4
symfony/console Version ^7.4.13 | ^8.1.4
symfony/dependency-injection Version ^7.4.13 | ^8.1.4
symfony/filesystem Version ^7.4.11 | ^8.1.2
symfony/finder Version ^7.4.8 | ^8.1.1
symfony/http-foundation Version ^7.4.13 | ^8.1.4
symfony/process Version ^7.4.13 | ^8.1.0
symfony/routing Version ^7.4.13 | ^8.1.2
wundii/data-mapper Version ^1.5.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package wundii/flowcrafter contains the following files

Loading the files please wait ...