Как вы называете свои файлы при использовании MVC? - PullRequest
0 голосов
/ 26 мая 2010

При использовании паттерна MVC, с которым у меня не так уж и много опыта, я нахожу себя так:

/app/views/widget.php
/app/models/widget.php
/app/controllers/widget.php

Это привлекает меня, потому что легко найти связанные классы, и я склоняюсь к более коротким именам, когда это возможно. Однако, когда я заглядываю в свою IDE, я вижу три разных файла с именем widget.php, что сбивает с толку. Я испытываю желание добавить "_v", "_c", "_m" или что-то к каждому имени. Как вы справляетесь с этим?

FWIW, я сейчас использую CodeIgniter, и я не знаю, есть ли какие-то особые преимущества в использовании определенного соглашения или каких-либо стандартных практик. Несмотря на это, меня интересуют лучшие практики различных платформ.

Ответы [ 4 ]

2 голосов
/ 26 мая 2010

Мое представление заканчивается в phtml, так что получается Widget.phtml. Моя модель - это Widget, поэтому она выдаст Widget.php, и мой контроллер будет WidgetController.php.

0 голосов
/ 07 августа 2013

Обычно я просто оставляю их имена без какого-либо специального соглашения и различаю различные файлы, просматривая:
- имена папок
- содержимое файла

С подсветкой синтаксиса, файл представления, содержащийВ основном HTML очень легко отличить от контроллера или модели.Что касается различий между моделями и контроллерами: я обычно не называю модели и контроллеры одинаковыми именами, поэтому для меня нет проблем.

0 голосов
/ 28 июля 2010

Лично я считаю, что все, что называется widget.php, сбивает с толку, даже если файлы находятся в отдельных файлах. Я имею тенденцию добавлять либо Model, View, либо Controller к концу имен файлов в дополнение к разделению файлов на соответствующие папки. Хотя это более многословно, новичкам в вашей кодовой базе гораздо проще и понятнее следовать вашему коду. Поэтому мой виджет (в Java, который я чаще всего использую для mvc) будет иметь следующий вид:

/app/widget/view/WidgetView.jsp
/app/widget/model/WidgetModel.java
/app/widget/controller/WidgetController.java
/app/coolwidget/view/CoolWidget.java
...

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

0 голосов
/ 26 мая 2010

CodeIgniter (и в этом отношении любой фреймворк) опирается на набор «соглашений» (правила в основном). Одним из таких правил является то, как обрабатывается маршрутизация. Например, файл 'widget', находящийся в / app / controllers /, будет преобразован в URL-адрес http://yoursite.com/widget/action/ (где action - это имена функций в вашем классе Widget.

Обычным соглашением является использование CamelCaseNaming для ваших классов и lowerCamelCase именование для методов. Каждый фреймворк имеет свой механизм маршрутизации. Если у вас есть класс WidgetBlahBlah будет переводить URL-адрес /widget-blah-blah/ или /widget.blah.blah/ (в зависимости). Имена действий и маршрутизация похожи.

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

Если вы собираетесь использовать MVC, я бы предложил вернуться к началу и узнать, как его использовать. MVC разработан для быстрого развития благодаря пониманию ряда соглашений и их использованию. Может быть, начать здесь: http://codeigniter.com/user_guide/toc.html

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