Я копался в коде и нашел несколько обращений к mySQL_fetch_array
. Учитывает ли PHP регистр имен функций? Я помню, как читал это где-то, но, похоже, не нашел на него ссылки.
php
function
case-sensitive
Бен Дофини
источник
источник
Ответы:
Я цитирую это :
Таким образом, похоже, что пользовательские функции не чувствительны к регистру, было голосование за создание функций / объектов в PHP5 с учетом регистра.
источник
Нет.
Функции PHP не чувствительны к регистру.
источник
TL; DR: имена классов нечувствительны к регистру, но всегда используют тот же регистр, что и в объявлении (так же, как и с функциями). Кроме того, создание экземпляров классов с другим регистром, как они были определены, может вызвать проблемы с автозагрузчиками.
Также имена классов нечувствительны к регистру:
Это выводит:
Проблема заключается в использовании автозагрузчиков и файловых систем с учетом регистра (например, ext2 / 3/4), поскольку вы должны вызывать имя класса с тем же регистром, что и файл, содержащий класс (а не то, как имя класса фактически имеет регистр), или используйте
strtolower
:Файл класса:
Функция автозагрузчика (
__autoload
или функция для регистрацииspl_autoload_register
)Теперь с этим кодом:
Вы можете выполнить эту работу (т.е. иметь эффективно нечувствительные к регистру имена классов с помощью автозагрузчика), если вы добавили вызов
strtolower()
в код автозагрузчика, но, как и в случае с функциями, просто лучше ссылаться на класс так же, как он объявлен, иметь имя файла в том же регистре, что и имя класса, использовать автозагрузчики и забыть об использованииstrtolower
и т.п.источник
Нет, они не чувствительны к регистру, однако вы всегда должны использовать регистр, указанный в руководстве, для единообразия.
Однако переменные являются чувствительны к регистру.
источник
В PHP переменные чувствительны к регистру, но у функций нет такой проблемы. Вы можете использовать следующие операторы для отображения вывода, все покажут один и тот же результат.
С другой стороны, если вы измените чувствительность к регистру переменных, тогда будет отображаться ошибка.
Пример:
Вывод:
источник
И имена методов также нечувствительны к регистру. например:-
вывод:
источник
В заключение каждого ответа. Несмотря на то, что PHP не требует согласованности регистра символов во всех случаях, даже до сих пор в PHP5.
Лучшая практика будет
Вы никогда не знаете, может быть, однажды голосование пройдет, и вы избавитесь от кошмара изменения случаев в ваших приложениях, созданных пару лет назад и требующих обновления на PHP.
Надеюсь, это все равно поможет.
источник
Может быть, уже поздно, но ...
Здесь все уже знают: PHP-движок не заботится о регистре букв.
И есть голосование по отслеживанию ошибок PHP, где большинство говорит: «Да, я за сенситивность».
Но я против, потому что в моем фреймворке MVC я вызываю действие контроллера:
$ controller и $ action берутся из URL как есть.
Подумайте, если пользователь публикует ссылку на мой сайт: https: // my-site / MyPartnerController / MyPartnerGallery
а класс называется myPartnerController ...
Это означает, что никто никогда не получит эту страницу, если имена классов и функций PHP чувствительны к регистру.
Да, я всегда использую все имена в коде, как заявлено. Но я молюсь, чтобы они никогда не делали имена функций и классов чувствительными к регистру.
Спасибо!
источник