Php правильно ли это?

hellfire

Турист
Credits
0
Короче по специальности я системный програмист и web'ом стал заниматься недавно. Так как обычные приложения по своей сути сильно отличаються от web'ских у меня появились некоторые траблы:( - допустим есть часть проекта которая отвечает за добавление user'a я реализовал ее так:
1 adduser.inc.php - вывод в HTML всех форм и т.д.
2 bdadduser.inc.php - непосредственно работа с БД
потом есть еще такой скриптик main.php который в зависимости от допустим переменной action выполняет то или иное действие. Вопрос: правильно ли это? Если нет то каким образом лучше построить структуру проекта?
 

GI80

Турист
Credits
0
hellfire, насколько я понял ты решил перенести стиль написания, скажем, win приложений в web-программирование и реализовал некое подобие фунции main() в виде скрипта main.php. Почему бы и нет? Все довольно-таки логично и вполне имеет право на существование.
 

GI80

Турист
Credits
0
Могу посоветовать скачать какую-нибудь CMS (contetnt managment system), например Invision Power Board, и посмотреть.
Вот по этой ссылке _http://doxx.tr.dn.ua/manuals.htm была отличная статья по различным структурам сайтов, но к сожалению ее удалили.
Попытаюсь чего-нибудь найти в тему и как-только так сразу суда скину)))
 
Z

ZoRg

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

alesh.ru

Гость
А ты какой версией PHP пользуешься? если ты знаком с ООП хорошо, и пользуешься PHP5 то ты всё сделал не правильно:) ежели, ты на php4 то вполне допустимый вариант.
 
A

alesh.ru

Гость
можно было бы сделать отдельные интерфейсы работы с базой данных, и выводом данных в html и объеденить их в один класс. но это только с точки зрения теории, по практике для маленьких проектов итд итп это совершенно не важно, и не оправдано.
 

jonjonson

Турист
Credits
0
Модульность не противоречит ООП.
Причем модульность может совмещать сразу два подхода:
подход основаный на модели Mvc (модель - отображение - контроллер)
и подход на основе выделении кусков кода выполняющих схожие функции
(для ООП - это классы).

Первый подход управляет логикой программы.
Второй подход позволяет произвести рефакторинг.
 

GI80

Турист
Credits
0
Вот здесь лежит статья по типовым структурам сайтов (на английском):
_http://www.webstyleguide.com/site/basic_structures.html
 

jonjonson

Турист
Credits
0
GI80, я понял, что тема поднята не только и столько по теме структуры сайта, сколько по структуре самого web приложения.
 

GI80

Турист
Credits
0
jonjonson, не вижу принципиальной разницы между этими понятиями. С моей точки зрения структуру приложения стоит подгонять под структуру сайта.
 

jonjonson

Турист
Credits
0
GI80, если заглянуть на сторону web приложения, то можно убедиться, что файловая структура и близко может не соответствовать логической. Достаточно включить и настроить mod_rewrite и все запрашиваемые страницы могут обрабатываться одной (например index.php). Пользователь даже догадываться об этом не будет. Зато программист может отписать фронт контроллер, пейдж контроллер и для каждого пейдж контроллера - апликейшин контроллер и обрабатывать все запросы через одну точку. При этом может быть куча темплейтов, которые вовсе не будут отображать напрямую логику структуры сайта. Так как любая страница может быть разбита на хэадер, боди и фотер. Боди может также сотавлятся из множества повторяемых темплейтов. Такое разбиение является результатом пефакторинга и позволяет повторяющийся код использовать много раз. Я уже молчу о выделении кусков кода отвечающих за доступ к базе данных, обработку ошибок, фильтрацию и валидацию данных реквестов, работу с темплейтами, контроллеры, и код бизнес логики. Это тоже все группируется и выносится в отдельные файлы (модули, классы).

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

GI80

Турист
Credits
0
jonjonson, все это безусловно верно, но для простых приложений не имеет смысла. А розговор изначально был про то, правильно ли построено простое приложение. И высказывал я свое мнение именно по поводу вопроса автора темы.
 
Сверху