Имена переменных PHP/function/class с использованием специальных символов

Я понимаю, что символ подчеркивания _ является допустимым символом для именования переменных/функций/классов и т.д. Однако мне было интересно, есть ли другие специальные символы, которые можно использовать. Я проверил несколько из них, не повезло и долгое время предполагал, что их нет, однако я решил, что увижу, знает ли кто-нибудь еще наверняка. Это было бы в основном для эстетических целей, однако я предполагаю, что специальное соглашение об именах символов было бы полезно при работе с другими разработчиками для определения типов значений и т.д.

Ответы

Ответ 1

Если вы проверите docs on variables, он скажет, что:

Переменные имена соответствуют тем же правилам, что и другие метки в PHP. Правильное имя переменной начинается с буквы или подчеркивания, за которой следует любое количество букв, цифр или символов подчеркивания. В качестве регулярного выражения оно выражается следующим образом: "[a-zA-Z_\x7f-\xff] [a-zA-Z0-9_\x7f-\xff] * '

Но в основном люди согласились использовать a-zA-Z0-9_, а не "причудливые" имена, так как они могут сломаться в зависимости от используемой кодировки.

Итак, , вы можете иметь переменную с именем $aöäüÖÄ, но если вы сохраните ее с неправильной кодировкой, вы можете столкнуться с проблемой.


То же самое относится и к функциям тоже.

So

function fooööö($aà) { echo $aà; }

fooööö("hi"); // will just echo 'hi'

будет просто работать (по крайней мере сначала).


Также проверьте:

Exotic names for methods, constants, variables and fields - Bug or Feature?

для обсуждения по этому вопросу.

Ответ 2

Названия функций следуют тем же правилам, что и другие метки в PHP. Действительное имя функции начинается с буквы или подчеркивания, за которой следует любое количество букв, цифр или символов подчеркивания. В качестве регулярного выражения оно выражается следующим образом: [a-zA-Z_\x7f-\xff] [a-zA-Z0-9_\x7f-\xff] *.

http://www.php.net/manual/en/functions.user-defined.php

Переменные имена соответствуют тем же правилам, что и другие метки в PHP. Правильное имя переменной начинается с буквы или подчеркивания, за которой следует любое количество букв, цифр или символов подчеркивания. В качестве регулярного выражения оно выражается следующим образом: "[a-zA-Z_\x7f-\xff] [a-zA-Z0-9_\x7f-\xff] * '

http://www.php.net/manual/en/language.variables.basics.php

См. также Руководство по присвоению имен пользователей: http://www.php.net/manual/en/userlandnaming.php

Ответ 4

Вы можете найти информацию, которую ищете Руководство по PHP. Знайте, был дан ответ:

Названия функций следуют тем же правилам, что и другие метки в PHP. Действительное имя функции начинается с буквы или подчеркивания, за которой следует любое количество букв, цифр или символов подчеркивания.

Функция как регулярное выражение: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Информация в руководстве не отражает пространства имен (некоторые могут видеть их как часть имени функции). И с некоторыми идентификаторами информация в руководстве PHP неточна. См. PHP Syntax Regulary Express для различных элементов и ссылок в Руководство по PHP для них.

Ответ 5

Если вы хотите структурировать имена путем объединения элементов (например, функций, имен столбцов или таблиц базы данных), вы можете использовать двойное подчеркивание как разделитель:

social_security_number__check(),
musical_instrument__tune(),
vehicle__insert()

или

check__social_security_number(),
tune__musical_instrument(),
insert__vehicle()