Соглашение об именах: единственное и множественное число для классов, описывающих сущности в PHP - PullRequest
3 голосов
/ 05 июня 2011

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

Классы, ссылающиеся на эти таблицы, также должны быть во множественном числе?

Например, представьте, что у вас есть таблица с именем Users, которая используется для аутентификации.

Эта таблица будет описана в классе сущностей более или менее так, используя доктрину ORM:

namespace Company\BlogBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="Users")
 */
class Users
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer", name="user_id")
     * @ORM\GeneratedValue(strategy="AUTO")
     * 
     * @var integer $userId
     */
    protected $userId;

    /**
     * @ORM\Column(type="string", length="255", name="first_name")
     * 
     * @var string $userName
     */
    protected $userName;
    ...
}

Это правильно?

Или класс «Пользователи» должен быть назван в единственном числе («Пользователь»)?

Ответы [ 4 ]

4 голосов
/ 05 июня 2011

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

3 голосов
/ 05 июня 2011

Класс, представляющий одну строку базы данных (сущность), должен иметь единственное имя. Поведение Doctrine 2 по умолчанию - именовать таблицы базы данных одинаково. Вы можете перенастроить его в каждой аннотации @Table, если хотите, но я предлагаю придерживаться соглашений об именах Doctrine - единственное имя для таблицы базы данных также допустимо.

3 голосов
/ 05 июня 2011

В базе данных они множественного числа, потому что это таблица многих из них;таблица множества пользователей.Как объект, это особенная вещь;один пользователь.Я обычно держу свои занятия в единственном числе.

0 голосов
/ 06 июня 2011

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

...