Funkcje i metody w PHP nie uwzględniają wielkości liter, jak pokazano w poniższym przykładzie.
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
Ale tak nie jest w przypadku zmiennych. Jakie jest uzasadnienie?
php
syntax
case-insensitive
user198729
źródło
źródło
class Share{ share($str){ echo $str; } } $sh = new Share(); $sh->share("string");
Możesz być zaskoczony dwoma wywołaniami funkcji share ($ str). pierwszy z powodu c'tor i drugi wyraźne wezwanie z tych samych powodów !!Odpowiedzi:
Zacytuję z Wywiadu - twórca PHP, Rasmus Lerdorf
Czytałem gdzieś, że ponieważ wszystkie wprowadzone funkcje zasadniczo przypominały znaczniki w dokumencie HTML, a znaczniki HTML nie rozróżniały wielkości liter, wybrał nazwy funkcji w PHP, aby nie rozróżniać wielkości liter. Później ta funkcja pozostała w języku.
źródło
Tak, w nazwach funkcji i metod wielkość liter nie jest rozróżniana.
I tak, w nazwach zmiennych rozróżniana jest wielkość liter.
Nie jestem pewien, czy jest ku temu powód - z wyjątkiem tego, że tak było przez długi czas, i tak pozostaje, ze względu na wsteczną kompatybilność.
Jako odniesienie, kilka linków / cytatów do różnych stron podręcznika:
Dla funkcji ( cytowanie ) :
A metody to niewiele więcej niż funkcje w obiektach - zwłaszcza gdy myślimy o PHP 4 i kompatybilności wstecznej.
A dla zmiennych ( cytowanie ):
A właściwości obiektów to niewiele więcej niż zmienne w obiektach - ta sama uwaga o PHP 4 i kompatybilności wstecznej.
źródło