モデルが自分で考案した単純なワークフローエンジンにアクセスできるようにする動作を作成しようとしています。ワークフローエンジン自体はCakePHPモデルとして機能し、ワークフローデータは他のモデルデータと同じようにデータベースに保存されます。
基本的に私がやりたいのは、ベースモデルでアクションが呼び出されるたびに動作にワークフローモデルを使用させることです。たとえば、投稿に対してedit()アクションが実行された場合、投稿(動作がアタッチされている)は、独自のモデル名、アクション、およびIDを引数としてワークフロー動作をトリガーします([投稿、編集、1]など)。 。次に、この動作はワークフローモデルの機能を呼び出します。ワークフローモデルは、投稿で編集が実行されたときに何をするかについてのレコードを持っており(たとえば、その投稿を購読しているユーザーに電子メールを送信します)、それを実行します。
私の質問は、動作内からモデル/コントローラーメソッドを呼び出す適切な方法は何ですか?ビヘイビア内から使用されるモデルは常にワークフローですが、ビヘイビアは基本的にすべてのモデル(ワークフロー自体を除く)から使用できる必要があります。動作から直接SQLクエリを実行できることは知っていますが、もちろんこれはCakeの方法ではありません:-)
または、私はこれについて間違った方法で行っていますか?さまざまなユーザーが簡単に構成できるように、データベースに一定量のロジックを保存し、モデル/コントローラーロジック自体に無限の構成チェックを行わないようにして、ワークフローステップを将来簡単に追加/変更/削除できるようにします。 。