私は、人々が自分の会社に実装するためのホワイトラベルとして提供するCakePHPアプリケーションを開発しています。そして、彼らは彼ら自身のために特定のカスタマイズ機能を持っている必要があります。
手始めに、ビューを使ってやりたいことが何でもできるようになり、まったく新しいものを追加する必要がある場合は、独自のコントローラー/モデルを追加できます。ただし、バージョンのアップグレードを簡単にするために、コントローラーやモデルに触れないようにすることをお勧めします。
基本的に、私が提供する予定のカスタマイズ機能は非常に基本的なものになります。特定のことが発生したときに「何か」と呼ぶだけで、外部システムの更新、自分自身/クライアントへの電子メール送信などを行うことができます。そういうもの。
これを行うための最良の方法は何ですか?
私の計画は、物事を合理的に整理するために、私のコントローラーごとに「ファイル」(1つのクラス)を用意することです。このファイルには、私のコードが呼び出す空のメソッドがたくさんあり、それらのメソッド内にコードを追加して、必要なことをすべて実行できます。
具体的な質問は、空のメソッドでいっぱいのこのクラスをコンポーネントにする必要があるかどうかです。コントローラー?通常のプレーンPHPクラスですか?
このクラスのメソッドをコントローラーから呼び出す必要があるので、コントローラーにすることは問題外だと思います(おそらく、それが私のものから継承するコントローラーであるか、または私のものがそれらのコントローラーから継承する場合を除きます)。また、これらのメソッドの実装者がモデルとコンポーネントにアクセスできるようにする必要がありますが、App :: Importを使用することはできますが、魔法の$this->ModelNameメンバーを設定する必要はありません。 。
また、私が作成したこのファイル(コンポーネントまたはコントローラー)は、他の(私の)コントローラー/コンポーネントの隣のアプリフォルダーに存在する必要がありますか?または、vendorsフォルダーのように別の場所にスローできますか?
あなたは以前にこのようなことをしたことがありますか?
避けるべきヒント/アドバイス/落とし穴は大歓迎です。
私はこれが一種の主観的であることを知っています、あなたが以前にこれをしたならば、私はあなたの経験から主に聞くことを探しています。
ありがとう!