Да, имена функций и методов не чувствительны к регистру.
И да, имена переменных чувствительны к регистру.
Я не уверен, что есть причина для этого - за исключением того, что это происходило в течение долгого времени, и, таким образом, остается причиной по причинам обратной совместимости.
В качестве ссылки пара ссылок / цитат на различные страницы руководства:
Для функций ( цитирование ) :
Примечание: Названия функций
без учета регистра, хотя обычно
хорошая форма для вызова функций, как они
появляются в их декларации.
И методы не намного больше, чем функции в объектах - особенно когда мы думаем о PHP 4 и обратной совместимости.
И для переменных ( цитирование ):
Переменные в PHP представлены
знак доллара с именем
переменная. Имя переменной
чувствительны к регистру.
И свойства объектов не намного больше, чем переменные в объектах - то же самое замечание о PHP 4 и обратной совместимости.