Я работал с картой Joomla, и я заметил, что они используют соглашение для обозначения частных или защищенных методов (они помещают знак подчеркивания « _
» перед именем метода), но они явно не объявляют какие-либо методы public
, private
или protected
. Почему это? Это связано с переносимостью? Являются ли public
, private
или protected
ключевые слова недоступными в более старых версиях PHP?
public, private и protected – это ключевые слова PHP5. К сожалению, PHP4 по-прежнему имеет очень высокую базу установки (особенно среди общедоступных хостинговых услуг).
вот довольно рисунок, показывающий показатели использования в июле (текст на французском). spoiler : php4 по-прежнему имеет более 35% -ный уровень использования.
Есть несколько хороших аргументов в пользу использования private
методов и свойств здесь: http://aperiplus.sourceforge.net/visibility.php
Включает: упрощает кодирование и чтение кода. Упрощает повторное использование классов и отладку.
Я не продаюсь в любом случае, но я хотел бы получить обоснованное опровержение этой статьи, если таковой существует.
PHP5 ввел некоторые значительные изменения в объектной модели. Среди поддерживающей видимости есть и другие изменения. Обязательно проверьте:
PHP 4 классы и объекты
PHP 5 классов и объектов