一般MVC问题 - 命名,结构(PHP)

时间:2009-06-09 17:27:59

标签: php model-view-controller frameworks class names

我尝试了很多PHP MVC框架,我注意到在许多框架中你可以做这样的事情:

$this->security->encodeForHTML();

所以,基本上有一个类Security,它包含一个方法encodeForHTML()。这个安全类不是单身人士吗?这种“内部”单身人士课程是否有特定的名称?

因为还有其他类不是单例:

$form = new Form;

在这种情况下,您可以根据需要创建任意数量的表单。我理解这一点,初始化许多安全类显然没有意义,但我想知道,这些类是否有名称(除了单例和非单例)?一个人建议对那些可以创建的类使用“plugins”一词,为那些在框架中构建的“库”使用“库”。这有意义吗?

感谢您的回复!

2 个答案:

答案 0 :(得分:4)

当前的MVC时尚/命名约定调用这些助手类/对象,它与单例/非单例正交(助手通常使用静态方法创建为单例和/或类,但它们不必是)

请参阅Zend文档了解an example

插件不是很正确的描述。通常,插件是由外部方编写的代码/程序,以利用和/或扩展系统内的功能。如果您使用的系统为您编写安全类并让它自动实例化并且可以调用它的方法,并且如果您的安全类可以在标准的非破解中调用System API,那么插件会更多办法。

答案 1 :(得分:1)

我同意你在帖子中提到的“一个人”。

IMO,它实际上取决于您使用的是哪种MVC框架。我还没有尝试过其他框架,但在CodeIgniter中,这属于两个方面,模型或库。由于模型通常用于处理来自数据库的信息,因此我称之为您提到的“安全”类,即库。