Zend Framework 2 подчеркивает частный - PullRequest
2 голосов
/ 20 сентября 2010

Будет ли Zend Framework 2 продолжать размещать подчеркивания перед частными членами и методами классов?Например:

class blah {
    private $_name;

    private function _doSomethingToName()
    {
    }
}

Я вижу, что они все еще там в версии dev ZF2.

Ответы [ 5 ]

6 голосов
/ 20 сентября 2010

Вероятно Да, согласно опросу :

В настоящее время 381 ответ:

  • 57% голосов«Да» (для удаления подчеркивания)
  • 38% голосов «Нет» (для сохранения подчеркивания)
  • 4% голосов «Нет мнения»
2 голосов
/ 01 ноября 2012

Из стандарта кодирования zf2

Функции и методы

Имена функций ДОЛЖНЫ содержать только буквенно-цифровые символы. Подчеркивание не допускается. Числа разрешены в именах функций, но не рекомендуется. ... Для методов объектов, которые объявлены с модификатором «private» или «protected», первый символ имени метода МОЖЕТ быть подчеркиванием. Это единственное приемлемое применение подчеркивания в имени метода и не рекомендуется (так как это затрудняет рефакторинг для публичной видимости). Методы, объявленные как public, не должны содержать подчеркивания.

http://framework.zend.com/wiki/display/ZFDEV2/Coding+Standards

1 голос
/ 23 марта 2013

Недавно я задавался вопросом об этом вопросе и провел поиск по всему исходному дереву ZendFramework-2.1.4, чтобы получить окончательный ответ. Соглашение о подчеркивании, похоже, больше не используется для переменных. Во всем проекте нет ни одного объявления закрытой или защищенной переменной, которое начинается с одного подчеркивания. В следующих трех файлах есть небольшое количество переменных, которые начинаются с двух подчеркиваний, но это все.

\ ZendFramework-2.1.4 \ Библиотека \ Zend \ View \ Renderer \ PhpRenderer.php \ ZendFramework-2.1.4 \ библиотеки \ Zend \ View \ Renderer \ ConsoleRenderer.php \ ZendFramework-2.1.4 \ Библиотека \ Zend \ STDLIB \ AbstractOptions.php

Как минимум один из этих файлов содержит следующий комментарий:

Примечание: все частные переменные в этом классе имеют префикс "__". Это к * пометить их как часть внутренней реализации и таким образом предотвратить конфликт * с переменными, вставленными в рендерер.

Что касается методов, мне удалось найти три файла, которые используют «private function _» и 89 файлов, которые используют «protected function _» для объявления методов. Было также три файла, использующих «приватную статическую функцию _» и семь файлов, использующих «защищенную статическую функцию _». Это очень малая доля от общего числа объявлений методов в проекте.

Похоже, что это соглашение умерло или умирает в Zend Framework 2.

РЕДАКТИРОВАТЬ: Похоже, что эти два раздела стандартов ZF2 codign ясно заявляют об этом.

http://framework.zend.com/wiki/display/ZFDEV2/Coding+Standards#CodingStandards-Variables http://framework.zend.com/wiki/display/ZFDEV2/Coding+Standards#CodingStandards-FunctionsandMethods

Переменные

Имена переменных ДОЛЖНЫ содержать только буквенно-цифровые символы. Подчеркивание не допускается. Числа допускаются в именах переменных, но в большинстве случаев не рекомендуется.

Для переменных, которые объявлены с закрытой или защищенной видимостью, первый символ имени переменной МОЖЕТ быть одним подчеркиванием. Это единственное приемлемое применение подчеркивания в имени переменной, поэтому не рекомендуется (так как это затрудняет рефакторинг для публичной видимости).

Функции и методы

Имена функций ДОЛЖНЫ содержать только буквенно-цифровые символы. Подчеркивание не допускается. Числа разрешены в именах функций, но не приветствуются.

Имена функций ДОЛЖНЫ всегда начинаться со строчной буквы. Когда имя функции состоит из более чем одного слова, первая буква каждого нового слова ДОЛЖНА быть заглавной. Это обычно называется форматированием «camelCase».

1 голос
/ 26 октября 2011

Это соглашение применяется и в других объектно-ориентированных языках.

Ознакомьтесь с этими двумя рекомендациями по кодированию:

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

1 голос
/ 20 сентября 2010

Да, а почему бы и нет? Это соглашение.

...