Почему функции и методы в PHP нечувствительны к регистру?

Функции и методы в PHP не чувствительны к регистру, как показано в следующем примере.

function ag() { echo '2'; } Ag(); class test { function clMe() { echo 'hi'; } } $instance = new test; $instance->clme(); 

Но это не случай с переменными. В чем смысл?

    Позвольте мне процитировать из интервью – Создателя PHP, Расмуса Лердорфа

    Первая версия PHP – это простой набор инструментов, которые я собрал для своего веб-сайта и для нескольких проектов. Один инструмент сделал некоторые фантазии попадания в базу данных mSQL, другой действовал как интерпретатор данных формы. Я закончил с 30 различными небольшими программами CGI, написанными на C, прежде чем я устал от этого, и объединил их всех в одну библиотеку C. Затем я написал очень простой парсер, который выберет теги из HTML-файлов и заменит их выходом соответствующих функций в библиотеке C.

    Простой парсер медленно рос, чтобы включить условные теги, затем теги цикла, функции и т. Д. Ни в коем случае я не думал, что пишу скриптовый язык. Я просто добавлял немного функциональности к парсеру замены макросов. Я все еще писал всю свою реальную бизнес-логику в C.

    Я где-то читал, что, поскольку все введенные функции по существу ощущались как теги в HTML-документе, и поскольку HTML-теги были нечувствительны к регистру, он выбрал имена функций в PHP нечувствительными к регистру. Позже эта функция осталась на языке.

    Да, имена функций и методов не чувствительны к регистру.

    И да, имена переменных чувствительны к регистру.

    Я не уверен, что для этого есть причина – за исключением того, что это было в течение длительного времени, и, таким образом, так и остается, по причинам обратной совместимости.


    В качестве ссылки несколько ссылок / цитат на различные страницы руководства:

    Для функций ( цитирование ) :

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

    И методы не намного больше, чем функции в объектах, особенно когда мы думаем о PHP 4 и обратной совместимости.

    А для переменных ( цитирование ):

    Переменные в PHP представлены знаком доллара, за которым следует имя переменной. Имя переменной чувствительно к регистру.

    И свойства объекта не намного больше, чем переменные в объектах – то же замечание о PHP 4 и обратная совместимость.