だから私はとDataBase
の間のカプセル化層になるクラスを書いています。PHP Controller
MySQL View
interface iDataBase {
public function drug($action, $drug);
public function company($action, $company);
public function activeIngredient($action, $activeIngredient);
}
最初は、getAllDrugs()、updateDrug()、removeDrug()、getForUpdate()、getDrug() などのようにすべてのセッターとゲッターを分離することを考えていましたが、あまりにも多くの関数でデータベース インターフェイスを汚染していることに気付きました。さらに、これは非常に小規模なバージョンです。さらに多くのクラスと機能を追加することを検討しています。したがって、多くの関数を使用する代わりに、3. に落ち着きました。$action
ユーザーが特定のクラスでどのようなことをしたいかを決定します。したがって、今のところ、可能なアクションは次のとおりです。"add", "getAll", "getForUpdate", "update", "remove"
しかし、マスクされたこれらの関数$action
は異なる処理を行うため、それらの戻り値は異なり、2 番目の引数も異なる場合があります。
私の解決策は良い習慣ですか?同じ悩みを抱えている方も多いと思いますが、どのように解決されましたか?考えられる問題はありますか?
PSDrug, Company, ActiveIngredient
はすべてのクラスです