Есть ли причина, по которой имена переменных должны быть указаны в стандарте кодирования PHP? - PullRequest
2 голосов
/ 18 февраля 2010

Стандарт кодирования PHP (PEAR, Zend и т. Д.) Определяет, что имена классов должны быть в верхнем CamelCase, в то время как методы и переменные (вероятно, ключи ассоциативных массивов) должны иметь более низкий формат camelCase. Логическое обоснование наличия классов в CamelCase и подчеркиваниях состоит в том, чтобы эмулировать пространства имен и создавать параллель с расположением файла, но в некоторой степени я нахожу, что там, где это хорошо работает для классов, это не так уж много для переменных.

Допустим, вам нужно сопоставить некоторые переменные со столбцами базы данных или элементами формы. MySQL не чувствителен к регистру (что я знаю), как и html, поэтому $ data ['userId'] во многом совпадает с $ data ['userid'] для них. ORM, такие как Doctrine, фактически игнорируют camelCasing для столбцов и просто извлекают их в нижнем регистре (или это просто mysql, возвращая их как таковые). Никто не хочет иметь дело с данными, которые могут или не могут выглядеть как $ data ['productQuantity'] или $ data ['productquantity'] в зависимости от того, где они были. $ data ['product_quantity'], с другой стороны, оставляет мало двусмысленности.

Так в чем же причина нынешней переменной схемы именования стандарта кодирования? Что мешает PHP изменить этот стандарт, говоря, что все переменные должны быть в нижнем регистре и отделены подчеркиванием (это работает, поскольку мы знаем, что имена классов должны начинаться с заглавной буквы)?

Edit:

Обратите внимание, что я не спрашиваю, какова цель стандарта. Я знаю, что они предназначены для разрешения в целом. Я спрашиваю, почему стандарт имя переменной в PHP таков, как есть. я понимаю причину схемы именования классов и преимущества ее применения (делает вашу библиотеку совместимой со многими автозагрузчиками и т. д.). Но я не понимаю, почему camelCasing имена переменных . Есть ли особая причина? Могу ли я оторваться от этого без последствий?

Ответы [ 3 ]

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

Так в чем же причина переменная схема именования кодирования стандарт

Это делает код:

  • Последовательная
  • На первый взгляд легко понять, что такое переменная
  • Все разработчики следуют одним и тем же принципам, делая жизнь намного проще.
1 голос
/ 18 февраля 2010

PHP находился под сильным влиянием Java, поэтому было естественно выбрать схемы именования оттуда. Я уверен, что если бы сегодня был изобретен PHP, люди бы использовали другую схему именования. Теперь это в значительной степени стандартно, поэтому изменить его на самом деле не вариант.

Не смотря на то, что это стандарт де-факто. Язык PHP не поставляется с руководством по именованию. Это в основном обусловлено различными рамками. (В первую очередь, PEAR и Zend Framework)

0 голосов
/ 18 февраля 2010

Это просто соглашение ... Как социальная привычка программирования

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