Есть ли что-нибудь как ctype Python для PHP? Доступ к библиотекам без потребности записать расширение?

Python имеет ctypes для доступа к библиотекам. В PHP Вы пишете расширения для всего. Популярные расширения как то для libgd доступны почти везде.

Действительно ли там кто-либо - расширение, которое работает как ctypes Python, позволяя Вам получить доступ к библиотекам без потребности записать расширение PHP?

7
задан stesch 28 January 2010 в 19:51
поделиться

4 ответа

121-

Существует расширение PHP (ирония?) Вызывается FFI . FFI означает Интерфейс внешнего функции , который является общим термином для при наличии языковых вызовов библиотек, написанные на другом языке.

1
ответ дан 7 December 2019 в 14:32
поделиться

Ага! Был там.

#set($intString = "9")
#set($Integer = 0)
$Integer.parseInt($intString)

При этом используется базовая скорость java. Переменная $ Integer больше не является объектом java Integer, который затем можно использовать для доступа к .parseInt

Edit: Приведенный выше код предназначен для демонстрации. Конечно, есть способы оптимизировать его.

-121--1294878-

Можно использовать регулярные выражения. Поскольку у вас уже есть последовательность, было бы легко сравнить это с этим regex:

/^\d+(\.\d+)?$/

Библиотека regex.h может помочь вам здесь. Смотрите следующее: regex.h

-121--3777351-

Я не знаю пути. Но вы можете позволить SWIG построить расширение для нужной библиотеки.

0
ответ дан 7 December 2019 в 14:32
поделиться

Вы ищете FFI .

2
ответ дан 7 December 2019 в 14:32
поделиться

Я не думаю, что есть такая вещь: в PHP, «стандартный» способ использования библиотеки - приписать обтекательную градушку, которая экспортирует функции библиотеки на PHP Отказ

(Но, возможно, расширение можно было записать, чтобы сделать только что делает Ctypes? - Не уверен, но, может быть, ^^)

0
ответ дан 7 December 2019 в 14:32
поделиться
Другие вопросы по тегам:

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