Соглашения об именах - Работа с PHP и MySQL - PullRequest
7 голосов
/ 14 октября 2010

Aloha,

Я только недавно начал программировать на PHP и у меня возник вопрос по базовым соглашениям об именах. Я прочитал много стандартов кодирования PHP после прочтения этого поста . Это имело смысл для меня, так как я уже предпочитаю использовать camelCase при именовании переменных. Поскольку я собираюсь работать с MySQL, я также ознакомился с соглашениями об именах баз данных. Есть много разных предпочтений, но кажется, что пока вы последовательны, это нормально. Однако я заметил одну вещь: большинство соглашений об именах баз данных говорят, что атрибуты должны начинаться с заглавной буквы, тогда как в PHP (как и в большинстве программ) переменные должны начинаться со строчных букв. Я собираюсь использовать модель MVC с DAO и VO. Я действительно хочу, чтобы мои VO отражали мои таблицы базы данных, но регистр первой буквы противоречив. Должен ли я оставить корпус несоответствующим или заменить его таким образом, чтобы они были одинаковыми? Как вы, ребята, делаете это?

Заранее спасибо,

Фрэнк

Ответы [ 5 ]

5 голосов
/ 14 октября 2010

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

Пример:

Допустим, вы используете MySQL в качестве базы данных и назовите таблицу FooBar.Теперь клиент хочет переключиться на PostgreSQL в качестве альтернативной базы данных, из-за чего имя таблицы становится проблемой, поскольку postgres использует строчные имена или заключает их в двойные кавычки.

Синтаксис запроса MySQL:

SELECT * FROM FooBar

Синтаксис запроса Postgres:

SELECT * FROM "FooBar"

Если вы следовали общей схеме именования, вы могли бы использовать один запрос для обоих

SELECT * FROM foo_bar
2 голосов
/ 15 октября 2010

Вот как работает Zend:

(Новая ссылка) http://framework.zend.com/manual/current/en/ref/coding.standard.html#naming-conventions

1 голос
/ 15 октября 2010

Да, для базы данных и таблицы все предпочитают подчеркивание.Мало кто любит все в верхнем регистре и немногие все в нижнем регистре.Но если Филл прав, тогда я буду голосовать за все строчные буквы для БД и таблицы.

0 голосов
/ 14 октября 2010

Я предпочитаю использовать все строчные буквы в именах таблиц и столбцов, а пробелы заменяются на подчеркивания.Название таблицы в единственном числе от названия модели.Обычно это помогает преобразовать структуру базы данных в стандарт модели PEAR.

class User extends MyActiveRecord
{
   public function getFirstName()
   {
     //...
   }
}

SELECT * FROM user WHERE first_name LIKE 'Bill'

Внешние ключи как "некоторая конкретная информация" _ "имя внешней таблицы" _ "имя внешнего столбца".Это помогает выяснить, к какой таблице мы привязываем внешний ключ.

SELECT * FROM post LEFT JOIN user ON post.author_user_id = user.id
0 голосов
/ 14 октября 2010

делай так, как тебе нравится, но, как ты сам сказал:

[...] пока вы соответствует, все в порядке.

Я бы предпочел использовать один и тот же регистр для обоих символов и начать с символа нижнего регистра.

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