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






публичные, частные и защищенные - ключевые слова PHP5. К сожалению, PHP4 все еще имеет очень высокую базу установки (особенно среди служб виртуального хостинга).
вот красивая картинка, показывающий уровень использования за июль (текст на французском языке). спойлер: php4, к сожалению, по-прежнему использует более 35%.
E_STRICT был введен в PHP5, если я не понимаю, что вы говорите
Какое-то время все было наоборот: первые несколько выпусков PHP 5 жаловались на использование «var».
График, который вы связали, заканчивается в 2008 году. С другой стороны, 4.3 и 4.4 упоминаются отдельно. В любом случае, если вы посмотрите на более актуальную статистику, она будет совсем другой: w3techs.com/technologies/details/pl-php/all/all Только 10% PHP4
PHP5 внес серьезные изменения в объектную модель. Помимо поддержки видимости, есть и другие изменения. Обязательно посмотрите:
Есть несколько веских аргументов в пользу отказа от использования здесь методов и свойств private: http://aperiplus.sourceforge.net/visibility.php
Включает: усложняет кодирование и чтение кода. Усложняет повторное использование классов и отладку.
Я никоим образом не продан, но я хотел бы увидеть осознанное опровержение этой статьи, если таковое существует.
+1 за очень интересную (и убедительную) ссылку. Итак, какой путь вы выбрали за последние два года?
Хех, последние два года я мало занимался программированием PHP: P. но я вообще за то, чтобы людям давали достаточно веревки :)
PHP4 выдаст предупреждение E_STRICT.