I think that the standard practice to name tables in MySQL is to use plural names.
The classes refering to those tables should also be plural?
For example, imagine that you have a table called Users, that is used for authentication purposes.
This table would be described in an entity class more or less like this using the doctrine 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;
...
}
Is this correct?
Or should the class "Users" be named in singular ("User")?