Допустим, у меня есть таблица, содержащая пользователей . Таким образом, каждая строка в этой таблице является пользователем . Важной частью здесь является множественное число против единственного числа.
Теперь давайте посмотрим, как мы настроили модели для них в 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
.
Итак, вопрос к этому длинному и несколько поэтическому вопросу:
Есть ли способ обойти это, БЕЗ начала использования вручную включает?