единственное или множественное число на моделях контроллеров? - PullRequest
10 голосов
/ 05 февраля 2010

если у меня есть модель потока и контроллер.

должно ли это быть в единственном или множественном числе для модели и контроллера?

я мог бы показать тему, а также перечислить темы.

Не знаю, что мне следует использовать.

$thread->get_lists(); // doesnt sound good
$threads->show(); // doesnt sound good

Ответы [ 6 ]

15 голосов
/ 05 февраля 2010

Это не имеет значения .

Я лично использую единственное число для моделей и множественное число для контроллеров.

Однако важно то, что вы выбрали схему и будете последовательны .

4 голосов
/ 05 февраля 2010

Это зависит от модели. Если объекты этого класса представляют ровно одну вещь, используйте единственное число, если они представляют много вещей, используйте множественное число (но вам обычно не нужен такой класс, используйте массив / коллекцию). И то, и другое не может произойти, или вы должны изменить дизайн (1).

Я буду использовать ваш пример темы:

Если каждый объект моделирует один поток, назовите класс «Поток». Если он моделирует несколько потоков одновременно, назовите его «Threads» (или «ThreadCollection» или тому подобное).

(1) Если вам нужны оба, представление одного потока и представление множества потоков одновременно, используйте два различных класса (Thread и Threads) или создайте массив или коллекцию для последний. Тогда вы будете чисты: $ Резьбовых> показать (); $ Threads-> список ();

2 голосов
/ 05 февраля 2010

Как говорили другие, это не имеет значения.

Что касается моделей, мне нравится использовать единственное число, когда класс представляет одну строку, например, при использовании Active Record или Table Row Gateway и множественного числа при работе с классами, представляющими таблицы и наборы записей, просто потому, что я мог сделать их возврат или содержать классы с единичными именами, и я мог бы различать их. Но опять же, я мог бы также назвать их UserTable, UserCollection и User. Используйте то, что лучше всего представляет ваш домен.

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

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

2 голосов
/ 05 февраля 2010

KohanaPHP очень хорошо обрабатывает их компоненты MVC для единственного / множественного числа. Я бы проверил это для справки, так как это имеет смысл. Но когда дело доходит до этого, это действительно не имеет значения, и это зависит от программиста. Я имею в виду, если вы получаете кучу списков, выполните get_lists () или если вы получаете содержимое списка, используйте get_list ().

1 голос
/ 26 февраля 2015

Я знаю, что это старый вопрос, однако недавно я долго спорил с коллегами по этому поводу.

Хотя лично я предпочитаю единственное число для контроллеров и в то же время абсолютно считаю, что единственное / множественное число не должно иметь значения / принудительное ...

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

Например Twitter API Google plus API

0 голосов
/ 30 марта 2019

для имени базы данных таблицы, используйте множественное число = "пользователи"

для имени контроллера, используйте единственное и прописное значение = "User_Controller"

...