О соглашении об именовании имен 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)