3

我尝试了许多 PHP MVC 框架,我注意到在许多框架中您可以执行以下操作:

$this->security->encodeForHTML();

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

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

$form = new Form;

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

感谢您的回复!

4

2 回答 2

4

当前的 MVC 时尚/命名约定称为这些 Helper Classes/Objects,它们与单例/非单例正交,(帮助器通常被创建为带有静态方法的单例和/或类,但它们不一定是)

有关示例,请参阅 Zend 文档。

插件不是完全正确的描述。通常,插件是由外部各方编写的代码/程序,用于利用和/或扩展系统内的功能。如果您使用的系统为您提供了一种编写安全类并自动实例化它的方法并且可以调用它的方法,并且如果您的安全类可以以标准的、非黑客的方式调用系统 API,那么插件会更好方式。

于 2009-06-09T17:41:04.280 回答
1

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

IMO, it really depends on what kind of MVC framework you are using. I haven't tried other frameworks yet, but in CodeIgniter, this falls under two things, models or libraries. Since models are commonly used to handle informations from the database, I would call this 'security' class you mentioned, a library.

于 2009-06-09T17:46:51.913 回答