Я следую учебнику, который, как мне кажется, написан кем-то, кто не знает, что делает (уже поймал 2 очевидных ошибки, а остальная часть кода беспорядочна). Но я не хочу полностью дискредитировать парня, поэтому я спрашиваю здесь о чем-то еще, чего я не понимаю.Является ли этот код безумным?
Прежде всего, я пошлю 100 домовой очков, мои 2 домашних животных, а также коробку шоколада в кто может объяснить мне, что это происходит с этим кодом.
Он использует модульную архитектуру. Имя модуля: frontmodule
. Модуль имеет MVC. А модуль имеет внутренний library
.
/modules/
/frontmodule/
/models/
/views/
/controllers/ -- the /module controller is here (undestandable)
/library/
/Controller/ -- the /module/library controller is here (why?!)
/Action/
Сначала идет запутанным часть. Почему каждый модуль имеет внутреннюю библиотеку и почему эта библиотека intenal имеет свои собственные controllers
и actions
. Это лучшая практика? Я думаю, что эту библиотеку можно перенести в плагин, который может использовать модуль. Не уверен, что ..
Сейчас идет интересной части .... в дополнении к каждому модуль имеет свою собственную внутреннюю библиотеку, есть также библиотека Common совместно все модули (см ниже его на тот же уровень папок как /modules
) и общая библиотека также имеет свои собственные контроллеры и действие (так же, как каждые внутренние библиотеки имеют свои собственные контроллеры и действия)
/modules
/library/
/Common/
/Controller/ -- the /common/library controller is here (why?!)
/Action/
/Helper/
/Plugin/
Итак, мы имеют 3 контроллеров:
- модуль контроллера
- контроллеров модуля внутреннего библиотеки
- контроллер общей библиотеки
Теперь вот безумным часть, я думаю, что это чрезмерно усложнять жизнь
Он говорит: dule расширяет библиотечный контроллер библиотеки , который также расширяет общую библиотеку контроллера .
class IndexController
extends Frontoffice_Library_Controller_Action_Abstract { ... }
abstract class Frontoffice_Library_Controller_Action_Abstract
extends Custom_Controller_Action_Abstract { ... }
Так что я думаю:
- контроллер модуль =
IndexController
- контроллеров модуля внутреннего библиотеки =
Frontoffice_Library_Controller_Action_Abstract
- Контроллер общей библиотеки =
Custom_Controller_Action_Abstract
где module controller
расширяет module internal library's controller
и module internal library's controller
расширяет common library's controller
Кто-нибудь видел что-нибудь подобное раньше? Я предполагаю, что этот код будет непросто поддерживать, но, возможно, те, кто больше опытен с zend, могут сказать мне, чего этот парень пытается достичь. Структура приложения немного запутанна. Я думаю, что он злоупотребляет MVC вместо того, чтобы использовать его для упрощения приложения и его ремонтопригодности.
Лол ... О, мне нужно было что. Благодаря! –
Он просто хочет сделать вашу жизнь труднее. – netrox
@netrox, смотри, я не уверен. Может быть, есть что-то в этом, чего я не получаю. Вот почему я жду, чтобы услышать от тех, у кого больше опыта работы в zend framework, хотя я ожидаю, что вы, вероятно, правы, и что это «чрезмерная инженерия», поскольку beamrider9 говорит – jblue