miftahovn
Новичок
PHP ООП. Объект Users. Разжуйте плиз как надо это делать...
Давно мечтаю перейти от процедурного программирования к ООП.
Теорию знаю примеры на C++ писал, и решал, но как это приложить к реальным вещам не понимаю...
Пример:
Есть таблица в MySql Users, есть огромное желание создать одноименный объект,
с следующими целями:
Пожелания
а)чтобы создание и удаление записей в таблице всегда происходило через метод createUser объекта,
с учетом проверки множества связей, целостности и.т.д.
б) чтобы обеспечить кэширование, если уже выбирали соответствующую запись Users второй раз в БД не лезем
в) чтобы в конце - концов дописать эту штуку, и больше не знать как там это внутри работает -)
--------------------------------------------------------------------------------------------------------------------
1. допустим создаю объект
$users = new Users();
$users -> name = "Tron"
$users -> city = 'Moscow';
$users -> about = 'Taram Taram';
$users -> insertRecord();
а) можно ли записать это как-нибудь покороче без присваивания всего и вся...
б) как эту штуку заставить проверять тип, длину, правильность присваиваемых значений полей,
или это можно сделать только в момент insert ?
в) на случай неуспеха вставки данных, нам нужно вернуть все это в поля формы, опять долго и нудно все оттуда доставать ?
---------------------------------------------------------------------------------------------------------------------
2. у нас на одной странице есть множество user`ов, т.е. пример было
while {
my54[userName] = getUserName($uid);
my54[userAbout] = getUserAbout($uid);
}
теперь это будет выглядеть
$users = new Users();
$users -> init(54);
my54[userName] = $user->name;
ааа... помогите, тогда на кой фиг оно надо ?
как сделать так чтобы
а) получение данных был минимально коротким
б) все пользователи которые уже выдергивались были кэшированы
вижу 2 решения кэширования:
а) типа всякие объекты $users[54], $users[727]
б) один объект $users -> getUserName($uid);
Помогите плиз, иначе я когда нибудь с ума сойду писать всю эту процедурную портянку ...
Давно мечтаю перейти от процедурного программирования к ООП.
Теорию знаю примеры на C++ писал, и решал, но как это приложить к реальным вещам не понимаю...
Пример:
Есть таблица в MySql Users, есть огромное желание создать одноименный объект,
с следующими целями:
Пожелания
а)чтобы создание и удаление записей в таблице всегда происходило через метод createUser объекта,
с учетом проверки множества связей, целостности и.т.д.
б) чтобы обеспечить кэширование, если уже выбирали соответствующую запись Users второй раз в БД не лезем
в) чтобы в конце - концов дописать эту штуку, и больше не знать как там это внутри работает -)
--------------------------------------------------------------------------------------------------------------------
1. допустим создаю объект
$users = new Users();
$users -> name = "Tron"
$users -> city = 'Moscow';
$users -> about = 'Taram Taram';
$users -> insertRecord();
а) можно ли записать это как-нибудь покороче без присваивания всего и вся...
б) как эту штуку заставить проверять тип, длину, правильность присваиваемых значений полей,
или это можно сделать только в момент insert ?
в) на случай неуспеха вставки данных, нам нужно вернуть все это в поля формы, опять долго и нудно все оттуда доставать ?
---------------------------------------------------------------------------------------------------------------------
2. у нас на одной странице есть множество user`ов, т.е. пример было
while {
my54[userName] = getUserName($uid);
my54[userAbout] = getUserAbout($uid);
}
теперь это будет выглядеть
$users = new Users();
$users -> init(54);
my54[userName] = $user->name;
ааа... помогите, тогда на кой фиг оно надо ?
как сделать так чтобы
а) получение данных был минимально коротким
б) все пользователи которые уже выдергивались были кэшированы
вижу 2 решения кэширования:
а) типа всякие объекты $users[54], $users[727]
б) один объект $users -> getUserName($uid);
Помогите плиз, иначе я когда нибудь с ума сойду писать всю эту процедурную портянку ...
