Я считаю, что не было бы полезно, если бы мои модели расширяли Db_Table, но вместо этого использовали композицию.Это означает, что моя модель «имеет Db_Table, а не« Db_Table ».
Таким образом, мне гораздо проще ссылаться на несколько таблиц в одной модели, что является распространенным требованием.Этого достаточно для простого проекта.В настоящее время я занимаюсь разработкой более сложного приложения и использовал шаблон Data Mapper и обнаружил, что он упростил мой код больше, чем я мог бы поверить.
В частности, я создал класс, который обеспечивает весь доступ кбаза данных и предоставляет такие методы, как getUser () и т. д. Таким образом, если БД изменяется, или мой клиент хочет что-то глупое, как хранение записей в XML, или мы разделяем серверы, или что-то еще, что мне нужно переписать только один класс.1008 * Опять же, мои модели не расширяют этот класс, но его экземпляр назначается в качестве свойства во время построения.