О соглашении об именовании имен PHP (как в "_method" или "_property" )

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

Почему некоторые методы и свойства называются с подчеркиванием спереди, а другие - нет? Например, если конкретно использовать function _method(), а когда использовать function method() или, другими словами, private $_someVariable vs. private $someVariable?

Ответы

Ответ 1

В большинстве случаев это соглашение о возврате к PHP4, которое не поддерживает видимость свойств или методов, а разработчики библиотеки использовали _, чтобы указать что-то, что должно считаться закрытым, и не получать доступ непосредственно извне класс. PHP5 имеет видимость, но соглашение по-прежнему часто поддерживается.

Ответ 2

Теперь, в 2013 году, это "официально" плохой стиль по руководству по кодированию PSR-2:

Имена свойств НЕ ДОЛЖНЫ иметь префикс с единственным подчеркиванием для указания защищенной или частной видимости `

Источник: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md

Ответ 3

*** Следуйте руководству по кодированию PSR-2:

Имена свойств НЕ ДОЛЖНЫ быть префиксами с одним символом подчеркивания указать защищенную или конфиденциальную видимость`

Источник: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md

*** Причина:

Нет подчеркивания перед именем свойства, например $_income, вместо этого используйте $Дохода. Подчеркивание использовалось в некоторых рамках и может быть путают с магическими переменными PHP.

Источник: http://www.geekgumbo.com/2013/05/19/psr-2-coding-style-guide/

Ответ 4

Это официальный документ из php.net ничего не говорит о подчеркивании перед private методами, private.

Но следуйте Соглашение о кодировании Zend Framework:

Для методов объектов, объявленных с помощью private или protected, первый символ имени метода должен быть подчеркивание. Это единственное приемлемое применение подчеркивание в имени метода. Методы, объявленные "публичными", никогда не должны содержат символ подчеркивания.

Следовательно, мы должны начать именовать метод private с подчеркиванием:)

Примечание:

PHP сохраняет все символы, начинающиеся с __ как магические. это Рекомендуем не создавать символы, начинающиеся с __ в PHP если вы не хотите использовать документальные магические функции.

(Источник: http://php.net/manual/en/userlandnaming.rules.php)