За последние 24 часа нас посетили 18053 программиста и 1679 роботов. Сейчас ищет 1131 программист ...

MVC

Тема в разделе "Решения, алгоритмы", создана пользователем pycm, 16 янв 2011.

  1. pycm

    pycm Активный пользователь

    С нами с:
    16 янв 2011
    Сообщения:
    1
    Симпатии:
    0
    Всем привет.
    Краткое описание всего этого длинного поста: мне нужно вручную разработать сайт. Я решил применить MVC модель и разработал примерную логическую схему. Постарался учесть все факторы, сделать все технически грамотно и максимально удобно в использовании. Но, так как не совсем уверен во всех трех частях предыдущего предложения, решил написать сюда. Есть ли в моей схеме хоть толика рациональности, что в ней можно улучшить/добавить?

    [​IMG]

    Полазил по нету, почитал про MVC и примерно понял, что мне нужно: классическая MVC модель с подключением компонентов.
    Все обращения к сайту будут переадресовываться на index.php. Первым делом я решил включать буферизацию (на случай вывода хедеров), активизировать сессию, устанавливать соединение с БД. Весь код для этого будет в файле bootstrap.php. Также в этом файле будут подключаться дополнительные библиотеки из includes, конфигурационный файл и файл для работы с БД.
    Далее, в зависимости от урла, будет браться один из шаблонов. Я продумал эту схему так: шаблон – html файл со вставками специальных конструкций. Например, для вывода формы логина – add_component(login_form); для вывода JS файлов – add_js_files и т.д.
    В файле tpl-sel.php будет проходить проверка прав доступа, и в зависимости от результатов проверки – нужный шаблон будет считываться в переменную.
    Далее, в файле tpl-parse.php, все конструкции будут парситься. Функции для парсинга решил вынести в отдельный файл parse.php.
    Как одну из основных частей схемы я выделил компоненты. Каждый компонент будет состоять из нескольких файлов: views.php (html код), controller.php (логика) и congig.ini. Для чего config.ini? На этапе парсинга должны определяться названия необходимых компонентов. У каждого компонента в config.ini будет его название, описание и т.д. Таким образом можно будет пройтись по конфигам всех компонентов и загрузить только те, которые необходимы для данной страницы.
    Далее в tpl-print.php готовый шаблон будет выводиться в буфер, а в close.php – сбрасываться буфер, закрываться все соединения и т.д.
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Gromo
    Классно, но косяков много =)