В MVC, где вы кладете пользовательский класс?

Допустим, вам нужно создать собственный класс, который будет использоваться вашим контроллером.

class mycontroller extends main_controller
{
public function __construct ()
{
$c = new my_custom_class();
}
}

my_custom_class это не модель / вид / контроллер, это отдельный класс. Какова лучшая практика, где (в какую папку) поместить файл my_custom_class.php? Должно ли оно быть просто помещено в произвольную папку (т.е. /custom_classes/) или есть лучшая практика при использовании MVC?

1

Решение

Это зависит от того, для чего эти «пользовательские классы» на самом деле. В одном из последних проектов моя структура каталогов выглядела так: http://i.stack.imgur.com/YGVI9.png

Пользовательские классы, с которыми взаимодействовали контроллеры, обычно представляли собой различные сервисы и входили в /src/model/services каталог.

У меня также было два места для классов инфраструктуры (например, различные фабрики / сборщики и некоторые абстрактные классы для структур данных). Те, кто в конечном итоге в /src/components
или же /src/applications/<app>/components каталоги.

То, что вы видите в своем собственном проекте, может быть «кодовый запах» аналог, но для прикладной архитектуры. Это может быть признаком того, что вы выдвигали логику приложения в контроллерах, где это не должно быть.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]