0

将模型扩展到控制器是个好主意吗?

比如说我想让我的模型中的函数受保护而不是公开,然后将我的模型扩展到控制器,以便控制器仍然可以调用这些函数?

这是一件好事吗?还是我应该让他们公开?

4

2 回答 2

3

不,不要那样做!这破坏了 MVC 的整个对象。保留模型中的所有功能,除非它们仅供该模型或相关模型使用。在这种情况下,它们可以分别是私有的/受保护的。

如果您将模型扩展到控制器,那么控制器就会变成模型。

于 2013-10-10T14:53:58.977 回答
1

我无法想象控制器如何“扩展”您的模型。例如,您可以扩展 Eloquent 模型,并制作继承模型,例如:

class ModelB extends ModelA
{
 // code
}


class ModelA extends Eloquent
{
protected $something;
//code
}

然后在控制器中相应地使用它们。您的控制器扩展了一个不同的类 BaseController 并且具有与模型不同的目的。所以简短的回答是否定的。

于 2013-10-10T14:54:38.543 回答