разница между угловыми службами и их номенклатурой для создания пользовательских сервисов и использования в качестве аргументов функции [дубликат]

Помимо параметров error_reporting и display_errors ini, вы можете получить ошибки SYNTAX из файлов журнала вашего веб-сервера. Когда я занимаюсь разработкой PHP, я загружаю журналы своего веб-сервера системы разработки в свой редактор. Всякий раз, когда я проверяю страницу и получаю пустой экран, файл журнала устаревает, и мой редактор спрашивает, хочу ли я перезагрузить его. Когда я это делаю, я прыгаю на дно и появляется синтаксическая ошибка. Например:

[Sun Apr 19 19:09:11 2009] [error] [client 127.0.0.1] PHP Parse error:  syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\\webroot\\test\\test.php on line 9
42
задан Doug T. 12 October 2013 в 20:56
поделиться

2 ответа

  • Одиночный $ для зарезервированных, общедоступных идентификаторов
  • Двойной $$ для зарезервированных частных идентификаторов

Чтобы процитировать docs :

$ Префикс Соглашения о присвоении имен

...

Если вы проверяете область действия, вы также можете заметить некоторые свойства, начинающиеся с $ $. Эти свойства считаются закрытыми и не должны быть доступны или изменены.

53
ответ дан Doug T. 20 August 2018 в 19:52
поделиться

Если я могу добавить:

Angularjs Docs

Помимо просто значимости для Angularjs, «$$» или «$» просто символы, которые разрешены в именах переменных. Angularjs использует как для определения значимости для вас, так и для собственной команды разработчиков.

Вы могли бы назвать все ваши переменные одинаковым образом; но чтобы избежать именования столкновений, избегайте этой практики. Вот несколько примеров, если вы это сделали ...

$$$$myVariableName; $myVariableName$; _myVariableName_; $$$$$$myVariableName$$$$$$$$

Вот ссылка, чтобы проверить имена переменных JS, если вы хотите:

Validator ]

Здесь также ссылка на MDN, которая объясняет разрешенные символы:

MDN разрешенные символы ссылаются на

, и вот text:

Переменные

Вы используете переменные как символические имена для значений в приложении. Имена переменных, называемых идентификаторами, соответствуют определенным правилам.

Идентификатор JavaScript должен начинаться с буквы, подчеркивания (_) или знака доллара ($); последующие символы также могут быть цифрами (0-9). Поскольку JavaScript чувствителен к регистру, буквы включают символы «A» - «Z» (верхний регистр) и символы «a» - «z» (строчные буквы).

Начиная с JavaScript 1.5, вы можете использовать ISO 8859-1 или Unicode, такие как å и ü в идентификаторах. Вы также можете использовать escape-последовательности Unixode \ uXXXX как символы в идентификаторах.

Некоторые примеры юридических имен: Number_hits, temp99 и _name.

Angulajs включает в себя довольно бит информации в каждом объекте; некоторые из них относятся к Angularjs, а некоторые для разработчика, а это значит, что некоторые из них могут быть недоступны для редактирования, но все они должны быть доступны для справки, если это то, что вы собираетесь использовать для этого.

Однако в будущих выпусках любые частные идентификаторы могут исчезнуть, поскольку команда Angularjs ожидает, что разработчик не будет использовать зарезервированные / частные имена.

В случае опубликованной «аналогичной ссылки» вот что говорит Angularjs:

$ Префикс Соглашения о присвоении имен Вы можете создавать свои собственные услуги, и на самом деле мы сделаем именно это на шаге 11. Как соглашение об именах, встроенные службы Angular, методы Scope и несколько других угловых API имеют префикс $ перед именем.

Префикс $ существует в пространстве имен с поддержкой углового уровня. Чтобы предотвратить коллизии, лучше не называть ваши сервисы и моделировать все, что начинается с $.

. Если вы проверите область действия, вы также можете заметить некоторые свойства, начинающиеся с $$. Эти свойства считаются закрытыми и не должны быть доступны или изменены.

5
ответ дан SoEzPz 20 August 2018 в 19:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: