Case Sensitivity¶
Case sensitivity refers to the way PHP retrieves names when it looks for a definition: is it in a case-sensitive way, or case insensitive.
The case insensitive named structures are:
Classes
Enumerations
Functions
Interfaces
Magic methods
Magic constants
Named parameters
Methods
Namespaces
PHP keywords
Traits
The case sensitive named structures are:
Class constants
Global constants, since PHP 8.0
Array index
Properties
Variables
Case sensitivity has the potential to speed up PHP execution: the gain is a micro-optimisation, that requires millions of calls before yielding significant speed up.
The different case sensitivities in the language is balanced by the common practice to use the original case when using a structure.
<?php
// two distinct variables
$x = 1;
$X = 2;
// two identical calls
foo();
FOO();
// Calling a class with its definition case
$db = new SQLite3();
// This is valid, and often reported by tools and conventions
$db = new SQLite3();
?>
See also Unraveling the Quest for the Fastest Case Insensitive Char Comparison in PHP.
Related : Name, String, Name Conventions