Функции и методы в PHP нечувствительны к регистру, как показано в следующем примере.
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
Но с переменными дело обстоит иначе. В чем обоснование?
php
syntax
case-insensitive
user198729
источник
источник
class Share{ share($str){ echo $str; } } $sh = new Share(); $sh->share("string");
Вы можете быть удивлены, увидев два вызова функции share ($ str). первый из-за c'tor и второй явный вызов по тем же причинам !!Ответы:
Позвольте мне процитировать интервью - создатель PHP Расмус Лердорф
Я где-то читал, что, поскольку все представленные функции по существу ощущались как теги в документе HTML, и поскольку теги HTML не учитывали регистр, он выбрал имена функций в PHP так, чтобы регистр не учитывался. Позже эта функция осталась в языке.
источник
Да, имена функций и методов не чувствительны к регистру.
И да, имена переменных чувствительны к регистру.
Я не уверен, что для этого есть причина - за исключением того, что так было давно, и, таким образом, остается так по причинам обратной совместимости.
Для справки несколько ссылок / цитат на разные страницы руководства:
Для функций ( цитирование ) :
А методы - это не более чем функции в объектах - особенно когда мы думаем о PHP 4 и обратной совместимости.
А для переменных ( цитирование ):
А свойства объекта - это не что иное, как переменные в объектах - то же замечание о PHP 4 и обратной совместимости.
источник