Идентификаторы Unicode (имена функций) для нелокализационных целей целесообразно?

PHP в любом случае разрешает идентификаторы Unicode для переменных, функций, классов и констант. Он определенно предназначался для локализованных приложений. Wether это хорошая идея, чтобы закодировать API в чем-либо, но английский язык является спорным, но это бесспорно, что некоторые параметры развития могут требовать его.

 $Schüssel = new Müsli(T_FRÜCHTE);

Но PHP позволяет больше, чем просто \ р {L} для идентификаторов. Вы можете использовать практически любой символ Unicode, кроме символов из диапазона ASCII (например, : является специальным или \ , поскольку он уже используется в качестве внутреннего взлома для поддержки пространств имен).
S неоспоримо, что некоторые параметры развития могут требовать его.

 $Schüssel = new Müsli(T_FRÜCHTE);

Но PHP позволяет больше, чем просто \ р {L} для идентификаторов. Вы можете использовать практически любой символ Unicode, кроме символов из диапазона ASCII (например, : является специальным или \ , поскольку он уже используется в качестве внутреннего взлома для поддержки пространств имен).
S неоспоримо, что некоторые параметры развития могут требовать его.

 $Schüssel = new Müsli(T_FRÜCHTE);

Но PHP позволяет больше, чем просто \ р {L} для идентификаторов. Вы можете использовать практически любой символ Unicode, кроме символов из диапазона ASCII (например, : является специальным или \ , поскольку он уже используется в качестве внутреннего взлома для поддержки пространств имен).
В любом случае, вы могли бы сделать это, и я бы даже подумал, что это работоспособное использование для забавных проектов:

 throw new ಠ_ಠ("told you about the disk space before");

Но, кроме локализации, развлечений и декоративных эффектов, какое использование идентификаторов Unicode рекомендуется?

Например, я думаю об этом для встраивания параметров в имена магических методов. В моем случае мне нужно ввести только числовые параметры, поэтому я бы ушел только с подчеркиванием:

 $what->substr_0_50->ascii("text");
  // (Let's skip the evilness discussion this time. Not quite sure
  // yet if I really want it, but the conciseness might make sense.)

Но если бы я хотел встроить другие текстовые параметры, мне потребовался бы еще один символ Unicode. Теперь это сложнее набрать, но если есть такой, который поможет читаемости и передаст значение ...?

 ->substr✉0✉50->   // doesn't look good

Итак, вопрос в этом случае: какой символ имеет смысл использовать в качестве разделителя для смешанных параметров в имени виртуальной функции. - Более широкая метатема: о каком использовании идентификаторов Unicode вы знаете, или вы считаете, что это нормально?

12
задан tshepang 1 November 2014 в 06:24
поделиться