私はプロジェクトに取り組んでいますが、どのコードをどこに置くかについて混乱しています。なぜ私がやや混乱しているのかを示すために、ここに簡単な例を示します。
何らかの方法でアカウントを作成できる CakePHP アプリ内のいくつかの Web ページを想像してみてください。このアカウントと共に、モデルとライブラリの両方からいくつかの他の関数を呼び出す必要があります (たとえば、何かを圧縮したり、アカウントの証明書を作成したり、.. .)。
複数の場所で実行する必要があり、モデルに完全に属していない(+かなりのコードである)ため、最善の方法は、私が考えたコンポーネントを使用することです。
Web サーバーの背後にいる限り、これはうまく機能しますが、シェルでもそのすべての機能を利用できるようにしたい場合はどうすればよいでしょうか? -その後、コンポーネントを使用できず、ライブラリしかロードできません。
これは、コントローラーと同様に両方のシェルですべてのロジックを利用できるようにするために、共有できる/共有したいすべての関数/php コードの場合です。
ここに質問があります:) =>すべてのコンポーネントはライブラリである必要がありますか?、それらのライブラリ内にモデル/他のライブラリなどをロードすることはアーキテクチャ上正しいですか?、コンポーネントの使用は何ですか?、「rm -rf」も同様です' それらとライブラリのみを使用しますか?
これまで私がコンポーネントを使用してきた方法は、コントローラー間で共有できる/共有する必要があるすべてのプロセス ロジックをコンポーネントに配置することでした。モデルや静的関数のコレクションだけが必要ないときに使用したライブラリ(画像を操作する例)。そうすることで、シェルスクリプトを使用するときに、これらのコンポーネントのロジックにアクセスしたい/必要とする壁にぶつかりました。
私の理解が間違っている場所について何か考えはありますか?