PHP эквивалентно @ "string" в Objective-C - PullRequest
2 голосов
/ 14 января 2012

Я пишу библиотеку классов для PHP, которая будет реализовывать некоторые функции инфраструктуры Какао в Objective-C.

Objective-C имеет удобное сокращение для создания NSString объектов:

NSString *string = @"Hello World!";

Я пытаюсь найти самый элегантный эквивалент для этого в PHP.
На данный момент я пошел с:

$string = a("Hello World!");

a() - это функция, которая создает соответствующий объект.

Кто-нибудь может предложить более элегантный синтаксис?
Очевидно, это должен быть действительный код PHP.

Ответы [ 2 ]

2 голосов
/ 14 января 2012

Правильная идиома была бы чем-то вроде:

$string = new NSString("Hello, World!");

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

Edit:

Исходя из вашего комментария, я бы порекомендовал создать пространство имен NS и добавить в него любые однобуквенные функции, чтобы вы могли сделать следующее:

$string = ns\s("Hello, World!");

Вы можете сделать то же самое для NSNumber и т. Д., Не загрязняя глобальное пространство имен и не нарушая идиому PHP.

1 голос
/ 14 января 2012

В Core Foundation Apple использует CFSTR("constant string");, поэтому для такого подхода есть прецедент ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...