Funções e métodos em PHP não diferenciam maiúsculas de minúsculas, conforme ilustrado no exemplo a seguir.
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
Mas esse não é o caso das variáveis. Qual é o motivo?
php
syntax
case-insensitive
user198729
fonte
fonte
class Share{ share($str){ echo $str; } } $sh = new Share(); $sh->share("string");
Você pode se surpreender ao ver duas chamadas para compartilhamento de função ($ str). o primeiro por causa do c'tor e a segunda chamada explícita pelos mesmos motivos !!Respostas:
Deixe-me citar Entrevista - Criador do PHP, Rasmus Lerdorf
Eu li em algum lugar que, uma vez que todas as funções introduzidas pareciam essencialmente marcas em um documento HTML e como as marcas HTML não diferenciavam maiúsculas de minúsculas, ele escolheu nomes de função em PHP para não diferenciar maiúsculas de minúsculas. Posteriormente, esse recurso permaneceu ativo no idioma.
fonte
Sim, os nomes das funções e métodos não diferenciam maiúsculas de minúsculas.
E sim, os nomes das variáveis diferenciam maiúsculas de minúsculas.
Não tenho certeza se há uma razão para isso - exceto que é assim há muito tempo e, portanto, continua sendo o caso, por motivos de compatibilidade com versões anteriores.
Como referência, alguns links / citações para várias páginas do manual:
Para funções ( citando ) :
E os métodos não são muito mais do que funções em objetos - especialmente quando pensamos em PHP 4 e compatibilidade com versões anteriores.
E, para variáveis ( citando ):
E propriedades de objeto não são muito mais do que variáveis em objetos - mesma observação sobre PHP 4 e compatibilidade com versões anteriores.
fonte