Имена переменных / функций / классов PHP с использованием специальных символов - PullRequest
16 голосов
/ 15 июня 2011

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

Ответы [ 5 ]

18 голосов
/ 15 июня 2011

Если вы отметите docs on variables, это говорит о том, что:

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

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

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


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

Итак

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

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

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


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

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

за небольшую дискуссию на эту тему.

3 голосов
/ 15 июня 2011

Имена функций следуют тем же правилам, что и другие метки в 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

2 голосов
/ 15 июня 2011

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

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

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

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

2 голосов
/ 15 июня 2011

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

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

1 голос
/ 22 октября 2015

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

social_security_number__check(),
musical_instrument__tune(),
vehicle__insert()

или

check__social_security_number(),
tune__musical_instrument(),
insert__vehicle()
...