Sono consapevole che questa è una vecchia domanda (essendo del 2012), tuttavia la risposta è cambiata e ora c'è uno strumento che può farlo. Il kit di strumenti di estensione PHP-to-C di Jim Thunderbirds fornisce i mezzi per portare una semplice classe in un file fino a un complicato framework multipliodo con nomi a più livelli e convertirlo in un'estensione C che può quindi essere installata nel PHP server.
Mentre in molti casi d'uso non è necessario farlo in quanto il codice PHP ordinario funzionerà altrettanto bene in alcuni casi si possono verificare miglioramenti significativi delle prestazioni. La pagina delle informazioni mostra che una classe ordinaria (progettata deliberatamente per impiegare molto tempo) ha impiegato 16.802139997482 secondi come semplice PHP di vaniglia e 3.9628620147705 come estensione PHP creata utilizzando lo strumento.
Come ulteriore vantaggio, lo strumento offre anche una funzionalità aggiuntiva. La possibilità di combinare codice PHP (da convertire in C) e codice C nativo all'interno della stessa estensione che può produrre miglioramenti delle prestazioni ancora maggiori. Lo stesso esempio usato sopra solo lo strumento 0.14397192001343 secondi quando gran parte del codice intensivo è stato spostato in un codice C di tipo Bubble e semplicemente richiamandolo dal codice PHP.
Come nota a margine, gli sviluppatori che utilizzano il codice che utilizza l'estensione è molto simile ad avere i file inseriti manualmente nel file PHP in fase di sviluppo, tranne che non deve essere incluso in modo specifico come viene fatto attraverso il componente di estensioni PHP.
(Disclaimer: Non sono affiliato con questo sviluppatore, ma sono contento di averlo visto poiché è così lontano da lavorare per convertire alcune delle mie classi intensive in estensioni PHP senza aver bisogno di sapere C).
fonte
2017-01-25 07:01:06
Stai cercando di consentire ad altri di utilizzare la tua classe senza che siano in grado di visualizzare la fonte? Altrimenti, copia semplicemente il file class.php nel filesystem da qualche altra parte dove gli altri siti possono ottenerlo. In caso contrario, solo fare molte copie. In genere non si converte la classe PHP in un'estensione, a meno che non lo si stia facendo per motivi di prestazioni. – bramp
sì, ho bisogno di lasciare che gli altri usino la classe senza veicolare la fonte, grazie per la risposta – Wiika