Les fonctions et méthodes en PHP sont insensibles à la casse, comme illustré dans l'exemple suivant.
function ag()
{
echo '2';
}
Ag();
class test {
function clMe()
{
echo 'hi';
}
}
$instance = new test;
$instance->clme();
Mais ce n'est pas le cas avec les variables. Quelle est la justification?
php
syntax
case-insensitive
user198729
la source
la source
class Share{ share($str){ echo $str; } } $sh = new Share(); $sh->share("string");
Vous serez peut-être surpris de voir deux appels à la fonction share ($ str). premier à cause de c'tor et deuxième appel explicite pour les mêmes raisons !!Réponses:
Permettez-moi de citer une interview - Créateur de PHP, Rasmus Lerdorf
J'ai lu quelque part que puisque toutes les fonctions introduites ressemblaient essentiellement à des balises dans un document HTML et que les balises HTML étaient insensibles à la casse, il a choisi les noms de fonction en PHP pour ne pas le faire. Plus tard, cette fonctionnalité est restée active dans la langue.
la source
Oui, les noms des fonctions et méthodes ne sont pas sensibles à la casse.
Et oui, les noms de variables sont sensibles à la casse.
Je ne suis pas sûr qu'il y ait une raison à cela - sauf que c'est comme ça depuis longtemps et, donc, reste le cas, pour des raisons de rétrocompatibilité.
À titre de référence, quelques liens / citations vers différentes pages du manuel:
Pour les fonctions ( citant ) :
Et les méthodes ne sont pas beaucoup plus que des fonctions dans des objets - surtout quand on pense à PHP 4 et à la rétrocompatibilité.
Et, pour les variables ( citant ):
Et les propriétés des objets ne sont pas beaucoup plus que des variables dans les objets - même remarque à propos de PHP 4 et de la rétrocompatibilité.
la source