Добрый день! Ситуация: С ооп не знаком. Разрабатываю проект процедурно на php+mysql . Предположительно будет создано 40-50 может больше файлов. Вопрос - есть информация как правильно размещать папки и файлы при процедурном подходе? Если есть, дайте ссылку или конкретные рекомендации. ( то что надо изучать ооп , спасибо, знаю, но если можно по делу. спасибо). Спасибо.
@viktor72, так, чтобы ты потом понял, что у тебя где валяется. И желательно, чтоб другой человек тоже мог разобраться, т.е. чтоб в папке под названием posts, к примеру, не лежал код, относящийся к администрированию рекламы, ну грубо говоря. Плюс всё равно делай шаблоны отдельно от кода, даже при процедурном программировании (в котором нет ничего плохого, кстати, если по-нормальному всё сделать). Т.е. сначала все данные получаешь из базы, потом выводишь. Обработчики post-запросов не в том же файле, который выводит форму. И т.п.
@viktor72, посмотрите описание нашего простейшего каркаса, написанного на процедурке и для процедурки (хотя в коде «модулей» вам никто не запрещает использовать ООП): Знакомьтесь: G-Drive DBE 3 G-Drive. Быстрый старт Установка G-Drive Ядро объединено с точкой входа, код которой вы можете изменять, т.е. подключать в ней доп. файлы, например в форумах, ЛК и т.п. общий файл для выполнения авторизации обычно подключают прямо в точке входа или прописывают соотв. код непосредственно в ней. --- Добавлено --- Обратите внимание, что код приложения (содержимое папки mods) обычно выносится за пределы корня сайта.
P.S. Еще забыл написать, что никто не запрещает вместо использования «суффиксов» в именах файлов раскидать их частично или полностью по разным папкам, например: mods --include (это дефолтная папка для включаемых файлов) --stage1 --stage2 --theme
а можно описание этой картинки? что куда сохранять? --- Добавлено --- Да, вообщих черах я это понимаю. У меня было предварительное такое решение разложить файлы по таким папкам: isert, updet, forms, htmlpags, css, selectmysql... что то в этом роде. Но возникли сомнения. хочу почитать на эту тему. --- Добавлено --- спасибо. приступаю к чтению
Это на каком языке? Я так понимаю, insert, update? Лучше организовать файлы на основе сущностей, с которыми этот файл работает. В одном файле всё про посты, в другом - про баннеры, в третьем - ещё про что-то. Это лучше, чем в одном файле будут функции с запросами insert и по постам, и по баннерам, и по категориям, и по картинкам, и т.п., мало ли где понадобится запрос insert
Вам намекают, что MVC можно и на процедурке реализовать, если поднатужиться. Но по-моему начать можно с DAT (D&T), о чем mkramer писал: В описанном мной каркасе дефолтом заложен именно такой подход. В d-файлах (stage1) – рулежка и подготовка данных из БД. В файлах шаблонов (theme, stage3) – вывод. «Заголовочные» файлы (stage2) – это особый случай: они могу брать на себя роль и stage1, особенно когда данные нужно получать не из БД, и stage3, и еще выполнять много др. ф-ций.
Спасибо. Это более понятный материал. Пока что нее до конца понимаю отличие наполнения контролеров от файлов моделей.
Первое – это «быстрый старт» из моего списка, только менее продвинутое. Второе – фигня какая-то: Б-Э-Э-Э --- Добавлено --- Вместо второго лучше почитайте мою статью Как сделать вывод списка статей?
Почитайте нормальное описание MVC. Контроллер – что делать (конвейер этапов для выполнения конечного действия; один контроллер может содержать целую коллекцию конвейеров, по одному на каждое конечное действие). Модель – как делать, чтобы получить нужные данные.
Ну это субъективно, в ангуляре например с центрального дива подключается роутер, а там роутер подключает шаблоны. Проще не всегда хуже. Можно городить битовые слаги вместо обычных гет параметров, но новичку оно надо?
Пожалуйста, не сравнивайте твердое с холодным. Вы читали статью по вашей ссылке? Автор пытается описывать классическую серверную реализацию MVC и по большей части несет пургу. --- Добавлено --- Т.е. вы и это прочитали поверхностно. Биты отдельно, слаги отдельно. Один GET-параметр в обычном понимании этого слова там все-таки поддерживается.