Come posso utilizzare il codice C ++ di interagire con PHP?
-
19-09-2019 - |
Domanda
Ho letto da qualche parte che a volte PHP è semplicemente non è abbastanza veloce e che il codice compilato deve a volte "fare il lavoro pesante"
Qual è l'API in C ++ per fare questo?
Soluzione
È possibile aggiungere funzioni / classi per PHP, programmato in C (e si può avvolgere una classe C ++ da C, se non ricordo male da un articolo che ho letto qualche tempo fa) , che potrebbe consentire di fare alcune cose più velocemente - se programmato bene: non è necessario per l'interpretazione del codice PHP; Solo esecuzione di codice macchina, che è generalmente modo più veloce.
Per fare ciò, si dovrà sviluppare una estensione PHP .
Non ci sono che molte risorse disponibili su Internet su questo, ma questi si potrebbe aiutarvi a iniziare:
- estensione Scrittura Parte I : Introduzione a PHP e Zend
- estensione Scrittura Parte II: Parametri , array e ZVALs
- estensione Scrittura Parte II : Parametri, array, e ZVALs [continua]
- estensione Scrittura Parte III: risorse
E, in particolare circa la parte C ++, questo potrebbe aiutare anche:
Se siete veramente interessati dal soggetto, e pronti a spendere dei soldi su di esso, si potrebbe anche acquistare il libro L'estensione and Embedding PHP ( alcune pagine sono disponibili come anteprima su Google libri troppo) ; Ho visto un paio di volte che è stato il libro da leggere quando vi ha interesse su questo tema (In realtà, ho comprato qualche tempo fa, ed è una lettura interessante)
Tra l'altro, l'autore di quel libro è anche l'autore dei primi quattro articoli ho collegato a; -)
Altri suggerimenti
Si può effettivamente eseguire applicazioni compilate senza alcun tipo di API:
$output = exec('/path/to/yourapp');
Oltre a ciò, si può sempre scrivere un estensione PHP. C'è qui una buona guida sul tema: http://devzone.zend.com/article/1021
sorso, il Wrapper semplificato e Interface Generator può aiutare il confezionamento (esistente) c ++ in un modulo php.
SWIG è uno strumento di sviluppo software che collega i programmi scritti in C e C ++ con una varietà di linguaggi di programmazione di alto livello. SWIG viene utilizzato con diversi tipi di lingue, tra cui linguaggi di scripting comuni come Perl, PHP, Python, Tcl e Ruby.
Beh, non hanno definito ciò che si sta cercando di fare, ma se avete bisogno di un'interfaccia C ++, poi guarda alla directory ext nel codice sorgente per capire come scrivere un'estensione di PHP che si può quindi caricare e utilizzare da script PHP.
Un paio di link che possono aiutare:
http: // www. devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/ http://devzone.zend.com/article/1021
hanno provato SWIG ?? sembra una buona soluzione per il vostro problema !!
clicca qui per visitare la pagina web SWIG (la documentazione potrebbe non essere molto cordiale, però!)