Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Практическое применение ООП

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Вопрос о том, как применить ООП
freesky
Отправлено: 30 Августа, 2011 - 08:27:41
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2011  
Откуда: Россия, г. Екатеринбург


Помог: 0 раз(а)




Добрый день. Начал изучать ООП, дошёл до паттернов. Вроде бы в теории всё понятно, НО не могу понять как применить его на практике, так сказать с чего начать.
Хотел бы написать свою небольшую админку.
Может кто поможет, хотя бы алгоритм или по шагам. И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.
Если вопрос кажется глупым, уж не обессудьте....Я новичок Улыбка
Спасибо.
 
 Top
iflight
Отправлено: 30 Августа, 2011 - 08:43:53
Post Id



Гость


Покинул форум
Сообщений всего: 119
Дата рег-ции: Март 2011  
Откуда: Россия, Сыктывкар


Помог: 2 раз(а)




Новичку от новичка ))
Применяя ООП, код выходит более организованным, логичным. Правильно построенный ООП код сильно уменьшает возможность ошибки и упрощает расширение.

В общем то самому интересно что скажут более опытные на этот счет.
 
 Top
freesky
Отправлено: 30 Августа, 2011 - 09:25:36
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2011  
Откуда: Россия, г. Екатеринбург


Помог: 0 раз(а)




iflight пишет:
Правильно построенный ООП код сильно уменьшает возможность ошибки и упрощает расширение.


Это то всё понятно Улыбка....

Хотелось бы узнать с чего вообще начинать то? Вот есть задача: написать админку.....В процедурном подходе всё понятно.....а вот в в ООП да ещё и с применением шаблонов очень и очень интересно как всё делается...

Очень интересно было бы услышать мнение(совет) профессионалов
 
 Top
LIME
Отправлено: 30 Августа, 2011 - 09:54:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




freesky мнение недопрофи ))
патерны стоит изучать при плотном знании ООП только
огромная их часть вообще выеденого яйца не стоит
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2011 - 10:00:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




freesky пишет:
И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.

Для веба - MVC, без него никуда. Для базы данных часто singleton используется.

А как применять на практике - прочитайте сейчас теорию, потом, когда столкнётесь, поймёте.

singleton - это просто. Класс базы данных может понадобиться в разных местах, но зачем открывать соединение в каждом месте, где нужно что-то взять из базы? Вот этот паттерн и обеспечивает единый объект для всех вызовов.


-----
PostgreSQL DBA
 
 Top
freesky
Отправлено: 30 Августа, 2011 - 12:23:25
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2011  
Откуда: Россия, г. Екатеринбург


Помог: 0 раз(а)




Singleton как я понял он используется для реализации соединения с бд, а вот до MVC пока ещё не добрался.....Но всё равно спасибо
 
 Top
filkeith
Отправлено: 30 Августа, 2011 - 18:28:29
Post Id



Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Июль 2011  


Помог: 2 раз(а)




флуд, сам вот потихоньку учу пехапе. Я бы тебе предложил, сначала написать несколько своих классов, самому что нибудь простенькое набрасать, понять принцип работы, а потом уже браться за патерны. И потом админку для сайтоблога да и вообще простую админку можно и без стороних паттернов написать.
 
 Top
LIME
Отправлено: 30 Августа, 2011 - 19:49:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




из википедии
Цитата:
Критика

Иногда шаблоны консервируют громоздкую и малоэффективную систему понятий, разработанную узкой группой. Когда количество шаблонов возрастает, превышая критическую сложность, исполнители начинают игнорировать шаблоны и всю систему, с ними связанную. Нередко шаблонами заменяется отсутствие или недостаточность документации в сложной программной среде.
Есть мнение, что слепое применение шаблонов из справочника, без осмысления причин и предпосылок выделения каждого отдельного шаблона, замедляет профессиональный рост программиста, так как подменяет творческую работу механической подстановкой шаблонов. Люди, придерживающиеся данного мнения, считают, что знакомиться со списками шаблонов необходимо тогда, когда программист «дорос» до них в профессиональном плане — и не раньше. Хороший критерий нужной степени профессионализма — выделение шаблонов самостоятельно, на основании собственного опыта. При этом, разумеется, знакомство с теорией, связанной с шаблонами, полезно на любом уровне профессионализма и направляет развитие программиста в правильную сторону. Сомнению подвергается только использование шаблонов «по справочнику».
 
 Top
White
Отправлено: 30 Августа, 2011 - 22:13:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




LIME пишет:
огромная их часть вообще выеденого яйца не стоит

просто круг задач в которых они применяются достаточно узкий. к тому же это не набор жёстких правил, а лишь логика (даже не алгоритм) построения структуры коды. взяв за основу любой паттерн можно достаточно далеко от него уйти


-----
if(time()>1356048000) die();
 
 Top
LIME
Отправлено: 30 Августа, 2011 - 23:35:40
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




White я смысле это как "посмотрите налево посмотрите направо переходите дорогу"
перейти дорогу можно и незная этого алгоритма
чтоб понять это надо знать что за дорога и немного подумать
логика поможет
есть несколько действительно интересных патернов и все
читать выше выдержку из вики
(Добавление)
хотя это голое мнение не подтвержденное опытом
 
 Top
White
Отправлено: 31 Августа, 2011 - 08:09:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)





LIME пишет:
перейти дорогу можно и незная этого алгоритма

по данным WIKI в 2010 году в дтп погибло 26 567 человек. Они тоже так думали.

LIME пишет:
логика поможет

ну так никто вас и не заставляет "жестко" использовать паттерны. не зря вариантов их применения большое множество. это ведь и есть логика, но не ваша, а собранная по крупинкам из "коллективного разума". ведь собственной логикой можно достаточно долго строить структуру, чтобы потом прочитать что это один из простейших паттернов.
еще одно "за" паттерны - вашу логику не всегда смогут понять другие программисты, читающие ваш код. логику паттерна уже известного им понять будет проще.
есть конечно и минусы, согласен.


-----
if(time()>1356048000) die();
 
 Top
Mad_Alex
Отправлено: 20 Сентября, 2011 - 15:27:49
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Сент. 2011  
Откуда: Moscow


Помог: 0 раз(а)




freesky пишет:
Может кто поможет, хотя бы алгоритм или по шагам. И ещё интересует какие шаблоны проектирования чаще всего применяются и применительно к админке.


Собственный уровень оценить трудно, но кое-чего умею.

Собственно ООП "заточено" под разработку множеством программеров.
Т.е. по сути это идея "кирпичей". Т.е. если ты ваяешь кусок проекта, то тебе в общем то нужно знать одно: какие классы существуют и какие в них есть методы. К примеру если есть класс user и в нем есть метод updateLastAcivity() то тебе все равно как он внутри реализован. Но в коде ты просто создаешь юзера и апдейтишь его время последней активности.
$user = new user($login);
$user->updateLastAcivity();
после этого где-то там в недрах сделалась запись что юзер посещал сайт тогда-то.
Ты взял чужой киприч, нажал на кирпиче кнопку и все сработало.

Что до "написать админку" то ответ прост - переписать весь проект на ООП и тогда тока ощутишь мощь объектов Улыбка
Делать классы которые используются только в некой админке смысла нет - ну разве что для эстетики. Улыбка
 
 Top
ninjitsu
Отправлено: 20 Сентября, 2011 - 23:34:18
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Новичку от новичка. Зная принципы ООП ты можешь свободно расширять движки Drupal, 1c-bitrix... в общем что душе угодно. Берёшь список и описание заложенных в системе методов и применяешь их где тебе надо. Т.е. типа сложных компонентов... берёшь логику с разных методов и строишь тем самым компонент. Как-то так...
 
 Top
DlTA
Отправлено: 21 Сентября, 2011 - 00:35:42
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




freesky,
может тебе это поможет
вот пример проекта находящегося в разработке

главная страничка в которой все подключается
Спойлер (Отобразить)

класс работы с базой
Спойлер (Отобразить)

класс шаблонизатор
Спойлер (Отобразить)

и пример как это все работает вместе
Спойлер (Отобразить)

пример шаблона
Спойлер (Отобразить)


p.s. я не волшебник я только учусь, поэтому сильно не пинайте
 
 Top
caballero
Отправлено: 21 Сентября, 2011 - 00:36:48
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
принципы ООП ты можешь свободно расширять движки Drupal, 1c-bitrix... в общем что душе угодно.


Это ты сможешь делать если будешь знать эти движки после нескольких недель а то и месяцев ковыряния в коде и документации. Знание ООП тут поможет не больше чем знание синтаксиса и функций PHP.

Цитата:
Берёшь список и описание заложенных в системе методов и применяешь их где тебе надо


Ага. Особенно в Друпале и битриксе.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB