ワークフロー システムを実装する必要があります。
たとえば、一部のデータをエクスポートするには、次のことを行う必要があります。
- XSLT プロセッサを使用して XML ファイルを変換する
- 結果の変換を使用して、任意のデータ構造に変換します
- 結果(ファイルまたはデータ)を使用してアーカイブを生成します
- アーカイブを特定のフォルダーに移動します。
新しい Step オブジェクトの追加と実行を担当する Workflow という 2 種類のクラスの作成を開始しました。
各 Step は StepInterface を実装します。
私の主な関心事は、すべてのステップが前のステップに依存していることです (最初のステップを除く)。このような問題を処理する最善の方法は何だろうと考えています。
私は各ステップをループし、各ステップに前の結果 (ある場合) を提供することを考えましたが、私はそれで本当に満足していません。
別のアイデアは、次のように、「前の」ステップをステップに設定できるようにすることでした。
$s = new Step();
$s->setPreviousStep(Step $step);
しかし、私は Workflow クラスの有用性を失います。
アイデアやアドバイスはありますか?
ところで、ワークフロー全体の成否も気になります。つまり、いずれかのステップが失敗した場合は、前のデータをロールバックまたはクリーンアップする必要があります。