[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP ООП. Объект Users.
miftahovn
Давно мечтаю перейти от процедурного программирования к ООП.
Теорию знаю примеры на 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);


Помогите плиз, иначе я когда нибудь с ума сойду писать всю эту процедурную портянку ...



Спустя 13 минут, 48 секунд (20.02.2007 - 18:10) Alexander K написал(а):
Класс - это АТД (Абстрактный тип данных), а не набор функций. Поймите это, половина вопросов отпадет.
Вот небольшой пример http://www.phpforum.ru/index.php?automodul...mp;showentry=38

Спустя 11 дней, 7 часов, 40 минут, 32 секунды (2.03.2007 - 01:51) Patrick написал(а):
Давай по порядку... Если не понемаешь ООП, то погугли, как поймешь приходи с вопросами...

Спустя 9 часов, 31 минута, 39 секунд (2.03.2007 - 11:22) larin написал(а):
Люди внимание!
Это человек е..л всем мозг С ТОЧНО ТАКОЙ темой на phpclub. В этоге после нескольких страниц народ понял, что переубедить его и наставить на путь истинный бесполезно. )

З.Ы. Возможно я ошибся и этот человек просто скопировал чужой вопрос

Спустя 1 месяц, 17 дней, 53 секунды (19.04.2007 - 10:23) 0xDEADDEAD написал(а):
Цитата(Alexander K @ 20.2.2007, 21:10) [snapback]13741[/snapback]
Класс - это АТД (Абстрактный тип данных), а не набор функций. Поймите это, половина вопросов отпадет.
Вот небольшой пример http://www.phpforum.ru/index.php?automodul...mp;showentry=38

Alexander K я новичок в ООП, но первый вариант гораздо понятней... приимущества ООП невижу вообще...
такими темпами гостевухи будут весить как "виста"... dumau.gif

Посмари http://ru.wikipedia.org/wiki/Объектно-орие...рограммирование раздел "Критика ООП"

Спустя 4 месяца, 23 дня, 1 час, 6 минут (12.09.2007 - 11:29) SirJay написал(а):
Цитата(0xDEADDEAD @ 19.4.2007, 7:23) [snapback]18571[/snapback]
Цитата(Alexander K @ 20.2.2007, 21:10) [snapback]13741[/snapback]
Класс - это АТД (Абстрактный тип данных), а не набор функций. Поймите это, половина вопросов отпадет.
Вот небольшой пример http://www.phpforum.ru/index.php?automodul...mp;showentry=38

Alexander K я новичок в ООП, но первый вариант гораздо понятней... приимущества ООП невижу вообще...
такими темпами гостевухи будут весить как "виста"... dumau.gif

Посмари http://ru.wikipedia.org/wiki/Объектно-орие...рограммирование раздел "Критика ООП"


Короче что такое ООП!? Вот допустим есть некий объект, например машина(пусть жигули например) у неё есть свойства(МЕТОДЫ)...т.е. она умеет ездить, ну ещё тормозить, принимать бензин ну и. т.д. и т.п. в общем понятно...КОРОЧЕ МЕТОДЫ ЭТО ТО ЧТО УМЕЕТ ТВОЙ ОБЪЕКТ!!!Думаю понятно...при помощи ООП можно программировать реальные объекты из жизни ну напрмер та же машина...А объект это то что ты будешь моделировать например машина, человек, ОС... а класс это как бы каркас для объекта т.е. скелет объекта...НАПРИМЕР можно промоделировать человека...он умеет есть, спать, размножаться - ЭТО БУДУТ МЕТОДЫ, а класс это как бы совокупности всех МЕТОДОВ!!! думаю теперь понятно

Спустя 1 год, 6 месяцев, 14 дней, 27 минут, 55 секунд (26.03.2009 - 12:57) Guest написал(а):
wink.gif ohmy.gif

Спустя 3 часа, 46 минут, 2 секунды (26.03.2009 - 16:43) OOП написал(а):
SirJay,хорошо обьяснил,респект.

Спустя 3 месяца, 8 дней, 8 часов, 21 минута, 49 секунд (5.07.2009 - 00:05) maximvg написал(а):
Цитата (miftahovn @ 20.02.2007 - 14:56)
Давно мечтаю перейти от процедурного программирования к ООП

Может ООП тебе ещё не нужно. А ты хорошо подумал?
Я 5 лет с ООП пишу и сам иногда запутываюсь на хитроумных классах.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.