Case-sensitive (Регистрозависимость)
Case-sensitive (Регистрозависимость) (Case-sensitive) — чувствительный к регистру
Суть в одном предложении
Case-sensitive — свойство системы (файловой системы, языка), при котором различаются заглавные и строчные буквы (например, Database и database — разные имена).
Краткое определение
Регистрозависимость: идентификаторы считаются разными, если отличается регистр символов. В Linux пути к файлам регистрозависимы (src/Database ≠ src/database); в Windows часто нет. В PHP namespace и имена классов при PSR-4 должны в точности совпадать с путями и именами файлов — иначе на Linux «Class not found».
Оригинал и перевод
- Язык: английский
- Оригинал: Case-sensitive
- Буквальный перевод: чувствительный к регистру
Синонимы и варианты написания
- Case sensitivity
- Регистрозависимость
- Чувствительность к регистру
Происхождение
Общепринятый термин в программировании и администрировании. Unix/Linux файловые системы исторически регистрозависимы; Windows — регистронезависима для путей (но не для переменных окружения в новых версиях).
Где используется
- Файловые системы: Linux, macOS (как правило, регистрозависимы); Windows — часто нет
- Языки и стандарты: PHP PSR-4, имена классов и namespace должны совпадать с путями
- Git: имена файлов регистрозависимы
Когда это важно
При переносе PHP-проекта с Windows на Linux: локально namespace App\database мог подхватить папку src/Database, а на production Linux вернёт «Class not found». Нужно строго соблюдать регистр в именах папок, файлов и в объявлении namespace.
Подробное объяснение
В PSR-4 путь к файлу выводится из namespace и имени класса: App\Database\Connection → src/Database/Connection.php. Если на диске папка src/database (с маленькой d), на Linux автозагрузчик не найдёт файл. Решение: везде единый регистр (обычно CamelCase для папок и классов).
Аналоги и связанные термины
- PSR-4 — стандарт, требующий совпадения регистра namespace и путей
- Namespace — часть имени, которая отображается на путь с учётом регистра
- Легаси — часто смешение регистра из-за разных ОС
Пример использования
«Ошибка Class not found на сервере исчезла после того, как переименовали папку src/database в src/Database — на Linux пути регистрозависимы.»