2012-04-19 11 views
5

Eventuali duplicati:
Using Hiphop for PHP extension developmentÈ possibile utilizzare HipHop PHP per creare un'estensione php?

Questa domanda è simile al seguente: Using Hiphop for PHP extension development

Non credo a questa domanda è stato risposto correttamente, se non del tutto.

Sono sicuro che è possibile utilizzare HipHop PHP per convertire un file php in C++, senza aggiungere il server web di Facebook. Quindi, avresti convertito il tuo file php in sorgente C++. Potresti quindi compilare quel codice su un'estensione php? Ho alcune funzioni relative alla sicurezza che vorrei compilare con estensioni, ma non conosco C/C++. E per favore, nessuna risposta di "sei grande come facebook? Non hai bisogno di hiphop", o "Usa Ioncube/Zend Guard". So che quei prodotti esistono. Sono anche costosi.

+0

Se c'è un problema con un'altra domanda si dovrebbe lasciare un commento lì, o contrassegnare per un moderatore, se del caso. – Joe

risposta

0

Esso viene compilato come C++, se si utilizza la virata ./hphp/hphp text.php --keep-tempdir=1 è possibile mantenere il codice C++, così come il codice compilato

si può potenzialmente utilizzare HipHop PHP per convertire il file PHP in C++ è possibile costruire estensioni.

Citazione dal sito HipHop

Uno degli obiettivi di progettazione espliciti che portano in HipHop è stata la capacità di continuare a scrivere logica complessa direttamente all'interno di PHP. Le aziende con basi di codici PHP generalmente riscrivono la loro complessa funzionalità direttamente come estensioni PHP in C o C++. Così facendo finisce riducendo il numero di persone che sono in grado di lavorare sull'intera base di codici della società. Mantenendo questa logica in PHP, Facebook è in grado di spostare velocemente e di mantenere un numero elevato di ingegneri che sono in grado di lavorare su attraverso l'intera base di codici.

+0

ottieni il codice. altrimenti non sarai in grado di compilare. –

+1

Non sono sicuro che è possibile ottenere HipHop per emettere il codice mentre la compilazione viene eseguita allo stesso tempo in modo da avere solo il codice macchina –

+1

@Karoly Si ottiene una qualche forma di codice, non un codice C/C++. Otterrai qualcosa che può essere compilato come C++, ma è troppo offuscato per essere chiamato "codice sorgente" –

3

ho chiesto Scott MacVicar su questo tema in una conferenza l'anno scorso (voglio costruire alcune delle mie librerie come estensioni), e ha ottenuto la risposta che HipHop non può essere utilizzato per costruire estensioni che possono poi essere costruiti contro "standard" Zend PHP.

Ecco perché ho cercato in alternative come phc che può convertire script PHP per le estensioni C-lingua per PHP (così come gli eseguibili build da sorgenti PHP)

+0

Hai avuto fortuna con phc? Eri in grado di usarlo per compilare un'estensione? –

+0

@Trevor - purtroppo non nel suo stato attuale, sto sfogliando il mio C e sto cercando di estendere il phc per costruire correttamente costanti di classe, eccezioni generate e altre funzionalità che non può gestire al momento ... ha un ci sto andando, ma non è ancora tutto lì –

Problemi correlati