recherche documentation pour concevoir 1 Extension PHP
bonjour à tous,
Sous Windows-10, je cherche :koi: à développer une Extension PHP permettant de
communiquer efficacement avec un périphérique matériel (une liaison série COM
RS232 ) côté serveur web.
Elle sera destinée au final à fonctionner dans une application console
et/ou web (script) en PHP sous EasyPHP_Devserver-17 et autres.
Je sais qu'il faut passer par une programmation intermédiaire bas niveau
(.dll) en C/C++ (je programme également en Objet C++ avec le RAD C++Builder et Qt).
Mais voilà, problème :mur: , j'ai beaucoup de difficultés à trouver de la
documentation technique abordable et fournie sur ce délicat sujet des
Extensions PHP. C'est le parcours du combattant !! :marteau:
Si vous possédez des documents, ou connaissez des liens sur la toile Internet
que je n'arrive pas à trouver, je suis preneur,
cordialement, svp, merci. :roll: :help:
mes recherches se sont orientées vers l' Extension existante : Direct IO
bonjour mathieu,
Oui merci pour le soutien, j'avais déjà commencé à lire les tutos et les aides
trouvés sur les liens web listés ci-dessous , puis finir pas télécharger les sources
de l'Extension existante Direct IO (DIO).
...
Sinon le blème c'était que les recherches sur le thème "Extension PHP" m'orientaient
vers des sites comportant des sujets sur les extensions de fichiers ...
Alors j'ai ciblé mes recherches vers des sites anglo(Saxon)phones avec le tag suivant du genre :
"extend php with c c++ windows" ou mieux "developing PHP extensions in C C++ under windows"
... ... après faut tout traduire dans la langue de Molière ...
Les résultats en format PDF : (tutos)
Quelques résultats en liens web :
J'ai téléchargé puis commencé à consulter, parcourir les sources du package DIO :
- dio.c
- dio_common.c
- dio_posix.c
- dio_stream_wrappers.c
- dio_win32.c
- php_dio.h
- php_dio_common.h
- php_dio_common_data.h
- php_dio_posix.h
- php_dio_stream_wrappers.h
- php_dio_win32.h
- + 1 répertoire de scripts PHP test
dans le premier fichier dio.c , on mentionne une zone de fonctions dépréciées
concernant les fonctions classiques de base répertoriées dans l'aide :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| /*
+----------------------------------------------------------------------+
| DEPRECATED FUNCTIONALITY |
+----------------------------------------------------------------------+
| The functions below are from the earlier DIO versions. They will |
| continue to be maintained but not extended. It is thoroughly |
| recommended that you should use either the stream wrappers or the |
| DIO classes in new code. - Melanie |
+----------------------------------------------------------------------+
*/
dio_close()
dio_fcntl()
dio_open()
dio_read() // <--- lecture toujours bloquante (j'avais testé depuis ma 1ière utilisation de DIO !!)
dio_seek()
dio_stat()
dio_tcsetattr()
dio_truncate()
dio_write()
/*
+----------------------------------------------------------------------+
| END OF DEPRECATED FUNCTIONALITY |
+----------------------------------------------------------------------+
*/ |
dans le fichier dio_stream_wappers.c , on mensionne 2 fonctions PHP pour ouvrir des flux :
- dio_raw() <--- pour ouvrir un flux d'E/S direct bas niveau (sans bufférisation)
- dio_serial() <--- pour ouvrir un flux d'E/S direct bufférisé (avec tampon mémoire : buffer)
Cette Extension DIO est toujours maintenue (04/2020), mais il semblerait donc que
l'aide sur l'Extension Direct IO ne soit pas du tout à jour ici : https://www.php.net/manual/fr/book.dio.php
Je vais fouiller encore et tester en script PHP pour voir ...
Cordialement, merci