Почему бы не использовать «защищенный» или «частный» в PHP? - PullRequest
7 голосов
/ 13 октября 2008

Я работал с каркасом Joomla и заметил, что они используют соглашение для обозначения частных или защищенных методов (они ставят подчеркивание "_" перед именем метода), но они явно объявляйте любые методы public, private или protected. Почему это? Это связано с переносимостью? Разве ключевые слова public, private или protected недоступны в старых версиях PHP?

Ответы [ 3 ]

17 голосов
/ 13 октября 2008

общедоступные, приватные и защищенные ключевые слова PHP5. К сожалению, PHP4 по-прежнему имеет очень высокую инсталляционную базу (особенно среди служб общего хостинга).

Вот красивая картинка , показывающая уровень использования в июле (текст на французском). spoiler : к сожалению, php4 по-прежнему использует более 35%.

3 голосов
/ 29 ноября 2010

Здесь есть несколько хороших аргументов для того, чтобы не использовать private методы и свойства: http://aperiplus.sourceforge.net/visibility.php

Включает: затрудняет кодирование и чтение кода. Усиливает повторное использование классов и отладку.

В любом случае, я не продан, но я хотел бы увидеть обоснованное опровержение этой статьи, если таковое существует.

2 голосов
/ 14 октября 2008

PHP5 внес некоторые серьезные изменения в объектную модель. Среди поддерживающей видимости есть различные другие изменения. Не забудьте проверить:

PHP 4 класса и объекты

PHP 5 классов и объектов

...