Шаблон MVC и лучшие практики структуры папок - PullRequest
0 голосов
/ 07 июня 2011

На сайте, где у меня есть 2 одинаковые формы на разных страницах, поскольку некоторые поля одинаковы, кажется логичным, что у меня должен быть один класс, который проверяет поля из обеих форм.

Мой вопрос: где должен находиться такой класс?В /assets/includes?

Этот вопрос относится и к любым другим файлам (например, к сторонним скриптам).

Какова наилучшая практика организации для файлов, которые не попадают в каталоги /controller и /model?

Ответы [ 3 ]

1 голос
/ 07 июня 2011

Это очень сложная тема для обсуждения, поэтому взгляните на структуру каталогов Symfony Framework:

http://andreiabohner.files.wordpress.com/2007/03/cheatsheetsymfony001_enus.pdf

и попытайтесь имитировать это каким-то образом. Он хранит формы в / lib / form / - вы можете использовать, например, / form, если ваша структура каталогов не так сложна. Активы - это статические элементы, такие как изображения или CSS-файлы, как сказал Джордан. Включения обычно используются для хранения конфигураций или около того, они вообще не используются в современной разработке.

1 голос
/ 07 июня 2011

У меня есть доморощенный MVC, где многие страницы разделяют общие задачи и библиотеки, поэтому 99% работы моей модели состоит в том, чтобы вызывать такие вещи, как Form :: validateForm () и возвращать результаты в Controller, а не модель делает всю работу.

Это означает, что / foo / form может использовать тот же класс Form, что и / bar / form, без необходимости репликации какого-либо поведения.

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

1 голос
/ 07 июня 2011

«Активы» обычно относятся к статическим активам, таким как изображения и файлы CSS, так что это не так.Если вы не используете MVC-фреймворк или если у вашего фреймворка нет соглашения для этого (попробуйте поискать в гугле), я бы порекомендовал создать каталог, например /lib, /lib/validators или, возможно, /common.В конце концов, наиболее важно выбрать то, что имеет смысл для вас (и других разработчиков, которые могут работать над проектом).Вы всегда можете переместить файлы позже, если поймете, что другая структура может быть лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...