関数/メソッドを複数のコントローラーのアプリケーションに対してグローバルにするためのベストプラクティスは何ですか?
たとえば、コントローラーがあるとします。このコントローラーは関数を使用していますが、それを別のコントローラーにコピーして貼り付けるのではなく、その関数を呼び出したいだけです。
class ControllerName extends AbstractActionController {
// Your actions
// Has to become a call,
// instead of copy pasting this function to several controllers
public function GlobalFunction ($parameter) {
//Use parameter and return something
}
}
作成ControllerPlugins
は 1 つの解決策StdLib
です。では、コントローラーでのみ呼び出される関数のベスト プラクティスは何ですか?
その他の 2 つの関連する質問:
受け入れられた回答に記載されているプラグインが機能します。しかし、どのような場合にプラグインを使用したくなく、別のソリューションを使用するのでしょうか? 十分なドキュメントが見つからなかったので、明るくしたいだけです。
もう一つの興味深い点。このプラグインを複数のモジュールでも使用できるようにする必要がある場合はどうなりますか? アプリケーション内でプラグインをセットアップし、Zend アプリmodule\Application\Config\module.config.php
内でセットアップしますか?Config\Autoload\Global.php