モデルをコントローラーに拡張することは良い考えですか?
たとえば、モデル内の関数をパブリックではなく保護し、モデルをコントローラーに拡張して、コントローラーがそれらの関数を引き続き呼び出せるようにしたいとしますか?
それは良いことですか?それとも、それらを公開したままにする必要がありますか?
モデルをコントローラーに拡張することは良い考えですか?
たとえば、モデル内の関数をパブリックではなく保護し、モデルをコントローラーに拡張して、コントローラーがそれらの関数を引き続き呼び出せるようにしたいとしますか?
それは良いことですか?それとも、それらを公開したままにする必要がありますか?
いいえ、それをしないでください !これは、MVC のオブジェクト全体を無効にします。そのモデルまたは関連するモデルでのみ使用される場合を除き、モデル内のすべての関数をパブリックのままにします。その場合、それらはそれぞれ非公開/保護することができます。
モデルをコントローラに拡張すると、コントローラがモデルになります。
コントローラーがモデルを「拡張」する方法を想像できません。たとえば、Eloquent モデルを拡張して、次のような継承モデルを作成できます。
class ModelB extends ModelA
{
// code
}
class ModelA extends Eloquent
{
protected $something;
//code
}
それに応じてコントローラーでそれらを使用します。コントローラーは異なるクラス BaseController を拡張し、そもそもモデルとは異なる目的を持っています。したがって、短い回答はノーです。