假设我有一个包含users的表。因此,该表中的每一行都是一个用户。这里的重要部分是复数与单数形式。
现在,让我们看看我们在 Zend Framework 中为这些设置的模型:
class Model_Users extends Zend_Db_Table_Abstract
{
protected $_name = 'users';
protected $_primary = 'user_id';
}
现在,让我们进一步假设我们想要另一个用户对象,而不是返回的标准行Zend_Db_Table
,但我们仍然想保留它的功能,只是扩展它。然后,实现并命名单个用户是有意义的,例如:
class Model_User extends Zend_Db_Table_Row_Abstract
{
... Bunch of cool functions here :)
}
然后我们只需添加
protected $_rowClass = 'Model_User';
到Model_Users
类中就完成了……通常情况就是这样,但是 Zend Framework 自动加载类的方式似乎存在问题。因为我们可以拥有文件夹结构/defaut/models/foo.php
并在其中命名类Model_Foo
。该文件夹有一个复数名称,但该类有一个单数名称。当我想要具有上述结构时,这似乎成为一个问题。由于 Zend Framework 似乎无法区分UserModel.php
和UsersModel.php
.
所以这个冗长而有点诗意的问题的问题是:
有没有办法在不开始手动使用包含的情况下解决这个问题?