Я прочитал много популярных руководств по стандартам для проектов PHP с открытым исходным кодом.
Во многих случаях используются символы подчеркивания для пространств переменных, а во многих - camelCase.
Следует ли называть глобальные функции и переменные иначе, чем методы / свойства класса?
Я знаю, что самое главное - это последовательность, но мне хотелось бы услышать некоторые мысли по этому поводу.
Что ты посоветуешь?






Да, самое главное - последовательность. Если вы разработчик-одиночка, придерживайтесь метода. Если вы работаете в команде, поговорите с другими членами команды. Различие между глобальными объектами, функциями / методами и классами значительно упростит чтение кода. Для некоторых людей camelCase проще, чем using_underlines, поэтому вашей команде необходимо обсудить варианты и выбрать стиль.
Примечание: Я использую символы подчеркивания для имен таблиц MySQL, я использую UpperCamelCase для имен полей MySQL:
Обычно я использую $ lowerCamelCase для имен переменных и свойств класса, но если он содержит значение из поля, я использую имя поля $ UpperCamelCase, а если это массив данных из таблицы, я использую $ table_name. Таким образом, я могу легко найти grep вместо SomeField или some_table и найти все, что к нему относится.
Вам не обязательно использовать эту точную систему, но возможность поиска всех ссылок на поле или таблицу является огромным преимуществом.
Я считаю, что camelCase немного удобнее печатать, потому что мне неудобно набирать подчеркивание.
Не используйте глобальные переменные.
Я избегаю процедурного кодирования в PHP, я считаю, что ООП легче организовать. Кроме того, разве в глобальном пространстве имен PHP уже недостаточно всего?
Обычно я стараюсь придерживаться:
Item, Row, DB, Items.$column, $name.DEBUG, TYPE_FOO.get, perform, do), за которыми следует существительное (единственное или множественное число), описывающее, над чем оно работает или что возвращает (getThing(), getThings())Это определенно зависит от того, для чего вы кодируете. Если я кодирую PHP или PEAR, я использую camelCase. Если я использую Python / Django, я использую under_scores. Если я пишу ELisp, я использую пунктирные разделители.
Не согласен, см. это, они говорят о глобальных переменных, они не всегда плохие.
В самом PHP почти все собственные функции разделяются подчеркиванием. Большинство примеров кода PHP в документации разделены подчеркиванием.
Для большинства языков я думаю, что Camel или Pascal Casing более подходят, но я думаю, что есть четкая история использования разделения подчеркивания в PHP.
Раньше я предпочитал использовать camelCase, но для единообразия в больших приложениях я принял руководство по стилю CodeIgniter.
Даже если вы не используете их фреймворк, вы можете оценить работу по определению четких и всеобъемлющих стилей: http://codeigniter.com/user_guide/general/styleguide.html
Соглашение об именах Zend Frameworks (который основан на PEAR), вероятно, наиболее близок к стандарту в мире PHP. Лично я предпочитаю использовать lowercase_underscore для имен переменных, но в остальном я в основном следую соглашению ZF.
Обновление к 10-летнему юбилею:
В наши дни существует стандарт, который широко принят сообществом. Вы должны придерживаться этого:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
Ссылка не работает.
Моя цель - независимо от формата имени - добавить больше информации. Название улучшает понимание кода и / или выражает что-то важное?
Если да, то отлично, значит, у вас это получилось.
Если название ничего не добавляет, зачем вы его назвали?
Я писал об этом ранее на этой неделе:
Я бы рекомендовал прочитать Стандарты кодирования PEAR. Поскольку PEAR является официальным репозиторием расширений и приложений PHP, его можно считать официальным стандартом кодирования языка.
Согласен, я в процессе изучения OO и того, что такое статический класс (чтобы переместить все мои средства форматирования строк и т. д. Из глобального пространства имен)