Здравствуйте! Вопрос касательно архитектуры. Полностью объектный подход я начал применять не так давно. Сейчас же решил приобщиться и вкусить все прелести, попутно изучая yii. Но речь не о нем. Каким образом реализовывается инстанцирование модели? Насколько я понимаю, модель - это какой-то объект данных. То есть, формально, есть модель User, экземпляр которой - один пользователь. И где-то в приложении: Код (Text): $User = User::getById($id); // Получили экземпляр $User->setName("Vasya"); // Сменили имя на Vasya $User->save(); // Сохранили юзера, обновив запись в БД. Правильно ли я понимаю принципы работы с моделью? Если да, то каким образом реализовывать метод getById? Вроде как хочется сделать какую-то фабрику для этого, чтобы было: $User = UserFactory::getById($id); // Вернет user; Где в UserFactory такой код: Код (Text): Class UserFactory { public static getById($id) { // Какой-то запрос в БД чтоб вытащить юзера /////////// // Потом $User = new User(); $User->name = $dbresult->name; // .... return $User; } Это корректный подход? Но как быть, если надо получить массив пользователей? Или если внутри объекта User будет еще один объект ? Как такое инстанцировать?