(Это больше комментариев, но немного слишком долго)
Похоже, это уже отвечал в комментариях к другой теме, но повторить:
Есть еще способ использования библиотеки 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 уже сделал большую часть тяжелого подъема, портирование проще.
Какая у вас проблема с использованием библиотеки Java? Это должно быть довольно просто. Какова проблема, которую вы пытаетесь решить? –
@MattBusche Сервер, с которым я работаю, имеет много других материалов, и я стараюсь избегать использования библиотеки Java. Я не хочу перезапускать этот сервер после внесения изменений и сломать любую другую вещь. – rocky
Почему бы не попробовать JavaLoader.cfc (см. Ссылку в моем ответе)? Это динамический загрузчик классов, который позволяет вам использовать банки без необходимости добавлять их в основной путь класса CF или перезапускать. – Leigh