[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Курс "MVC от теории к практике"
Alehandr
Структура каталога, описание основных и вспомогательных классов

Здраствуйте, пришло время второй лекции...

Для начала попробуем спроектировать структуру каталога для реализации нашего веб приложения с использованием MVC. Потом определим вспомогательные и основные классы.

Дак что же нам нужно:
  • Точка входа в приложение, а точнее файл index.php.
  • Надстройка над сервером, а точнее .htaccess.
  • Системные классы, с возможностью расширения с помощью модулей и простой подмены.
  • Основные системные функции, а точнее 1 функция __autoload. (Кто не знает что это за функция, поищите в гугле).
  • Модули. (как же без них)
  • Ну и конечно-же классы нашего приложения, контроллеры, модели и представления.

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

Структура проекта:
  • app (папка нашего приложения)
    |- config (файлы конфигурации)
    |- classes (переопределенные системные классы + свои)
    |- controllers (контроллеры)
    |- models (модели)
    |- views (представления)
  • modules (об этой папке поговорим потом)
  • core (системные файлы)
    |- classes (классы ядра)
    |- functions.php (функции ядра)
  • index.php
  • .htaccess

Вспомогательные классы:
  • Observed и Observer - Я надеюсь вы выполнили прошлое задание и почитали о паттерне Observer, вот его то мы тут и будем реализовывать, хотя и не так стандартно.
  • Object - Класс, который должен наследовать любой объект, сдесь мы будем реализовывать общие функции.
  • Registry - Класс, который будет замещать паттерн Singleton, в котором я попросил разобраться в прошлый раз.
  • Configurator - Простой класс, реализующий загрузку и сохранение конфигураций для наших классов. (на форуме я готовую реализацию уже выкладывал)

Основные классы:
  • Starter - Как вы уже наверное поняли по названию, это тот самый класс, который будет запускать наше приложение. Также он будет подгружать необходимые модули.
  • Router - Сердце нашего приложения. Роутер должен определить контроллер и его метод, который будет формировать нужную страницу, исходя из запроса пользователя.
Следующие классы реализуют только основные функции MVC, методы связи между компонентами и являются абстрактными (кроме представления).
  • Controller - Родительский класс для компонетов приложения.
  • Model - Родитель моделей.
  • View - Как таковых классов для представлений мы реализовывать не будем, поэтому этот класс и не является абстрактым, он будет реализовывать формирование вывода (страничек, которые в конечном итоге видны пользователю).


Это промежуточная лекция, между теорией и практикой, поэтому заданий не будет...



Спустя 2 часа, 48 минут, 20 секунд (23.11.2009 - 12:10) Argnist написал(а):
Честно говоря непонятно, зачем нужны "наблюдатель" и "одиночка"(

Спустя 1 час, 32 минуты, 57 секунд (23.11.2009 - 13:43) Alehandr написал(а):
Argnist
На практике надеюсь поймешь...

Спустя 2 часа, 14 минут, 45 секунд (23.11.2009 - 15:58) Joker написал(а):
Я не понел, смысл этой лекции) чтоб мы структуру в папке сделали что ли???

Спустя 17 часов, 44 минуты, 15 секунд (24.11.2009 - 09:42) Alehandr написал(а):
Joker
Маленькая подготовка к практике. smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.