8
votes

Y a-t-il quelque chose comme le CTYPE de Python pour PHP? Accéder aux bibliothèques sans la nécessité d'écrire une extension?

python a CTTYPES pour accéder aux bibliothèques. En PHP, vous écrivez des extensions pour tout. Des extensions populaires comme celle de Libgd sont disponibles presque partout.

Y a-t-il une extension qui fonctionne comme des CTTYPES de Python, vous permettant d'accéder aux bibliothèques sans qu'il soit nécessaire d'écrire une extension PHP?


0 commentaires

5 Réponses :


0
votes

Je ne pense pas qu'il y ait une telle chose: en PHP, la manière "standard" d'utiliser une bibliothèque consiste en écrivant une enveloppe de l'enveloppe, qui exporte les fonctions de la bibliothèque vers PHP.

(mais peut-être une extension pourrait être écrite pour faire exactement ce que CTTPES fait? - Pas sûr, mais peut-être ^^)


1 commentaires

C'est certainement possible, même si je vois des problèmes de sécurité assez énormes ici. Les programmeurs de PHP débutants ne sont pas connus pour pouvoir contrôler tous les aspects de leur application (et la moitié des personnes expérimentées). Et si quelqu'un parvient à exécuter un code injecté qui utilise CTYPES dans PHP - cela inclut de pouvoir charger des bibliothèques externes, sinon quel est le point. Le modèle de sécurité de PHP (s'il y avait déjà une telle chose) serait compromis.



2
votes

Vous recherchez FFI .


1 commentaires

La dernière version est de 0,3 (alpha) 2004-01-20.



1
votes

Il y a une extension PHP (ironie?) appelée FFI . FFI signifie Interface de fonction étrangère , qui est le terme générique pour quand une langue appelle des bibliothèques écrites dans une autre langue.


0 commentaires

0
votes

Je ne sais de aucune façon. Mais vous pouvez laisser Swig Construire une extension pour la bibliothèque souhaitée.


1 commentaires

Pas exactement ce que j'avais à l'esprit. Mais au moins, je n'ai pas à écrire le poste par moi-même.



2
votes

php 7.3 aura FFI (interface de fonction étrangère).


2 commentaires

Plus d'infos: php.net/manual/fr/book.ffi.php php.net/manual/fr/ffi.examples-basic. PHP Notez qu'à partir de PHP 7.3, il est toujours marqué expérimental.


Une déclaration plus précise est que commencer avec PHP 7.3, FFI est disponible pour une utilisation générale. Pour ceux qui regardent l'extension pecl et la pensée, "cela a l'air obsolète." Ce serait parce que l'extension PECL FFI a été fusionnée dans le produit principal comme sa propre extension. Comme elle est incluse avec PHP elle-même (par exemple, via des gestionnaires de paquets tels que Debian Apt), il n'y a aucune raison de maintenir séparément l'extension PECL. Je vous recommande vivement de limiter l'accès à FFI à la CLI PHP, car il peut être utilisé pour facilement segfault php.