|
mario ↓
|
 |
|
21 Январь, 2010, 08:14:55
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
Приветы :)
В общем суть следующая, в силу моего плохого понимания ООП, точнее малого опыта... Встал следующий вопрос.
Как правильно реализовать класс типа "Блог", "Страница", "Каталог" и прочее...
Опишу как я хочу делать и делаю на примере модуля "Страница":
class Page {
public function getPageName ($id) {
//взять имя страницы
}
public function getPageUrl ($id) {
//взять адрес
}
public function getPageTitle ($id) {
//взять тайтл
}
public function getPageKeyword ($id) {
//взять ключевики
}
public function getPageDescript ($id) {
//взять описание
}
public function getPagePath ($id) {
//взять путь
}
public function getPageState ($id) {
//взять состояние
}
public function getPageModules ($id) {
//взять модули страницы
}
public function getPageTreeChildren ($id) {
//взять потомков
}
public function getPageTreeParent ($id) {
//взять родителя
}
public function setPageName ($id, $name) {
//установить имя страницы
}
public function setPageUrl ($id, $url) {
//установить адрес страницы
}
public function setPageTpl ($id, $tpl_id) {
//установить шаблон
}
public function setPageTitle ($id, $title) {
//установить тайтл
}
public function setPageKeyword ($id, $keyword) {
//установить ключевики
}
public function setPageDescript ($id, $descript) {
//установить описание
}
public function setPageState ($id, $state) {
//установить состояние: 0-выкл, 1-вкл.
}
public function addPage () {
//добавить страницу
}
public function deletePage () {
//удалить страницу
}
public function editPage () {
//редактировать страницу
}
}
специально привел такое большое количество, что бы была ясна ситуация...
в общем для меня кажется что это сильно много гетеров и сетеров :)
Я думаю что я что то не так понимаю... Или же это правильно?
Может ли кто показать пример как вы это реализовываете?
PS спасибо за внимание. Спустя 1 минуту 1 секунду добавил у всех подглюкивает пыха, на загрузку страниц?
|
|
|
|
« Последнее редактирование: 21 Январь, 2010, 08:12:28 от mario »
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
21 Январь, 2010, 08:22:57 , спустя 8 минут 2 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
ух ебанутся, причем тут ооп?
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
mario ↓
|
 |
|
21 Январь, 2010, 08:24:00 , спустя 1 минуту 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
ух ебанутся, причем тут ооп?
резонный вопрос. А ООП тут притом что я хотел бы разобраться... где я делаю ошибку... :(
|
|
|
|
|
Записан
|
|
|
|
|
mario ↓
|
 |
|
21 Январь, 2010, 08:29:11 , спустя 5 минут 11 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
ух ебанутся, причем тут ооп?
покажи простой пример ООП :)
только не на выдуманных классах и методах
а на реальных и достаточно понятных :)
|
|
|
|
|
Записан
|
|
|
|
|
NRG ↓
|
 |
|
21 Январь, 2010, 08:36:28 , спустя 7 минут 17 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Headshot!MultiKill!
Группа: нинзя Карма: 777
Сообщений: 4700 Сила слова: 16.81
|
mario, что такое класс Page ?
ты сам на пальцах можешь обьяснить к какой сущности он приадлежит ? (блок, модель, контроллер)
у тебя в нем походу сборище всего.... а так неправильно..
|
|
|
|
|
Записан
|
Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть

|
|
|
|
artoodetoo ↓
|
 |
|
21 Январь, 2010, 08:38:41 , спустя 2 минуты 13 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
с особым цинизмом
Группа: в ухо Карма: 124
Сообщений: 3804 Сила слова: 3.26
|
Зачем сразу "ошибка"? Воспрос в том, что называть "объектным программированием". Моё IMHO: ООП это подход от «цели к средствам».
В твоём случае бОльшая часть методов нужна только на стадии формирования страницы (View). Скажи пожалуйста, твой класс Page это класс контроллера или представления? Спустя 34 секунды добавил NRG опередил :) меньше букв — первый нах
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
21 Январь, 2010, 08:49:27 , спустя 10 минут 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
только не на выдуманных классах и методах я хоть раз на выдуманныз показывал?) я вроде всегда "жизненые ситуации привожу"
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
21 Январь, 2010, 08:50:38 , спустя 1 минуту 11 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
mario,
class A {
private $id;
private $description;
public function setID ($id) {
$this-> id = $id;
}
public function __call ($name){ // name=getDescription
$var = strtolower(substr($name, 0, 2));
return this-> {$var};
}
}
я думаю ход мысли понятен
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
phpdude ↓
|
 |
|
21 Январь, 2010, 08:57:44 , спустя 7 минут 6 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20784 Сила слова: 1.66
|
CTAPbIu_MABP, не в курсе "во сколько раз" медленнее работают магич методы по сравнению с прямым вызовом?
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
kostyl ↓
|
 |
|
21 Январь, 2010, 09:11:03 , спустя 13 минут 19 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3519 Сила слова: 1.71
|
CTAPbIu_MABP, не в курсе "во сколько раз" медленнее работают магич методы по сравнению с прямым вызовом?
в немного, а ты будешь считать сколько ты раз в проекте делаешь вызовов через magic ? просто интересно ))
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
mario ↓
|
 |
|
21 Январь, 2010, 09:20:21 , спустя 9 минут 18 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
NRG, artoodetoo, это класс контроллера, модель не выношу отдельно (не знаю почему).
CTAPbIu_MABP, честно не совсем понятно... :( мог бы ты пояснить на пальцах? Буду премного благодарен.
phpdude, не не показывал выдуманные, просто уточнил, а то вдруг на скорую руку захочешь написать :)
NRG, artoodetoo, ну допустим метод getPageName вытаскивает из базы данных имя страницы и передает его View
PS все методы создавались из того побуждения что, читал во многих источниках нужно представлять объект как реальный, и вот я и описал все реальные функции объекта "Страница".
mario, что такое класс Page ?
класс Page это класс страниц (формирование, создание, удаление, редактирование) все остальные гетеры вспомогательные, на тот случай что они в любом случае потребуются.
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
21 Январь, 2010, 09:21:09 , спустя 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
CTAPbIu_MABP, не в курсе "во сколько раз" медленнее работают магич методы по сравнению с прямым вызовом?
в немного, а ты будешь считать сколько ты раз в проекте делаешь вызовов через magic ? просто интересно ))
юморист? )
я про обычное поведение скриптов
.... быдлокод ....
foreach($dbitems as $item)
{
... biidlocode ...
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
$tpl->lala = $item['xxx'];
bidlocode ....
}
.... быдлокод ....
ну и это еще разок умножить на for какой нить глобальный, ведь быдлокод :)
ну это так, пшик :) Спустя 32 секунды добавил
CTAPbIu_MABP, не в курсе "во сколько раз" медленнее работают магич методы по сравнению с прямым вызовом?
в немного, а ты будешь считать сколько ты раз в проекте делаешь вызовов через magic ? просто интересно ))
а пруфлинк и данные?
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
mario ↓
|
 |
|
21 Январь, 2010, 09:22:43 , спустя 1 минуту 34 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
давайте сейчас не будем спорить о производительности? На данной стадии это бессмысленно.
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
21 Январь, 2010, 09:23:23 , спустя 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: д-о-х-у-я! Сила слова: 1.66
|
пошел поработаю, полдня пропиздел)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
mario ↓
|
 |
|
21 Январь, 2010, 09:25:57 , спустя 2 минуты 34 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
wazzup
Группа: Джедаи Карма: 67
Сообщений: 6162 Сила слова: 1.09
|
пошел поработаю, полдня пропиздел)
:) спасибо дуд:) Спустя 1 минуту 22 секунды добавил NRG, artoodetoo, CTAPbIu_MABP, собрались те самые люди на которых я и рассчитывал :))) надеюсь вы не против? ;)
phpdude, дуд ахуенен, но только не тогда когда дело доходит до просвещения знаний :)
|
|
|
|
|
Записан
|
|
|
|
|