2014-10-08 3 views
0

Ссылаясь на following библиотеке и моей previous нить, у меня есть два вопроса:Использование библиотеки Google в ColdFusion без использования Java-библиотеки

Вопрос № 1: Я решил не связываться с Java-библиотек и, следовательно, может кто-нибудь сказать мне, если есть еще один способ выяснить, как использовать библиотеку libphonenumber в coldfusion?

Вопрос # 2: Как обсуждалось в моем предыдущем потоке, многие люди переносят его на разные языки программирования, такие как JavaScript, Ruby, PHP, поскольку они не написаны на Java. Библиотека google libphonenumber написана на PHP, и мне интересно, почему кто-то переносит ее на язык PHP.

+1

Какая у вас проблема с использованием библиотеки Java? Это должно быть довольно просто. Какова проблема, которую вы пытаетесь решить? –

+0

@MattBusche Сервер, с которым я работаю, имеет много других материалов, и я стараюсь избегать использования библиотеки Java. Я не хочу перезапускать этот сервер после внесения изменений и сломать любую другую вещь. – rocky

+0

Почему бы не попробовать JavaLoader.cfc (см. Ссылку в моем ответе)? Это динамический загрузчик классов, который позволяет вам использовать банки без необходимости добавлять их в основной путь класса CF или перезапускать. – Leigh

ответ

1

(Это больше комментариев, но немного слишком долго)

Похоже, это уже отвечал в комментариях к другой теме, но повторить:

Есть еще способ использования библиотеки Java из CF?

Нет. Существует только один способ использования java-библиотек из CF. Добавьте банку к пути класса и используйте createObject. Вы также можете использовать динамический загрузчик классов, такой как Mark Mandel's JavaLoader.cfc (или копия этого проекта baked into CF10+). Однако, в конечном счете, все они делают то же самое.

Так как использование java-библиотек довольно просто в CF, мне любопытно, почему вы не хотите его использовать. Хотя я полагаю, вы могли бы переписать его в чистом CFML, я бы спросил, почему? Весь смысл библиотек - повторное использование, что экономит время разработки. Поскольку для вас уже существует совместимая библиотека, нет смысла переписывать ее. Нет, если вы не делаете это как учебное упражнение.

Google библиотека libphonenumber написана на PHP

No. Существует порт что written in PHP. «Официальным» проектом является «Java, C++ и Javascript library». Похоже, что ваши варианты - это версия java (серверная) или версия javascript (использование на стороне клиента). Вот и все.

Мне интересно, почему кто-то переносит его на язык PHP.

Поскольку библиотека java не совместима с каждой платформой, PHP является одним из них. Если разработчик на неподдерживаемой платформе хотел его использовать, у них есть два варианта: портировать их или писать самостоятельно с нуля. Поскольку проект google уже сделал большую часть тяжелого подъема, портирование проще.

+0

Спасибо за ваш ответ. Таким образом, только другой вариант, похоже, переписывает всю вещь в CFML или использует существующую библиотеку Java. – rocky

+0

Да. Хотя вы опустили версию java * script * на стороне клиента.Я действительно не вижу смысла переписывать то, что уже существует. Почему вы не хотите использовать библиотеку java? – Leigh

+0

Как указал Ли, используйте JavaLoader CFC. Таким образом, вы можете загружать все, что угодно, из JAR 'libphonenumber', без необходимости перезапуска службы или влияния на структуру библиотеки службы. –