Ich bin mir bewusst, dass dies eine alte Frage ist (seit 2012) aber die Antwort hat sich geändert und es gibt jetzt ein Werkzeug, das dies tun kann. Jim Thunderbirds PHP-to-C Extension-Toolset bietet die Möglichkeit, eine einfache Klasse in einer Datei bis hin zu einem komplizierten multi-level namespaced Framework mit mehreren Dateien zu erstellen und in eine C-Erweiterung zu konvertieren, die dann in PHP installiert werden kann Server.
Während dies in vielen Anwendungsfällen nicht erforderlich ist, wird der normale PHP-Code genauso gut funktionieren. In einigen Fällen können erhebliche Leistungsverbesserungen auftreten. Die Informationsseite zeigt, dass eine gewöhnliche Klasse (absichtlich so entworfen, dass sie lange dauert) 16.802139997482 Sekunden als Plain-Vanilla-PHP und 3.9628620147705 als PHP-Erweiterung benötigte, die mit dem Tool erstellt wurde.
Als zusätzlichen Vorteil bietet das Tool auch eine zusätzliche Funktion. Die Möglichkeit, PHP-Code (in C zu konvertieren) und nativen C-Code innerhalb der gleichen Erweiterung zu kombinieren, was zu noch größeren Leistungsverbesserungen führen kann. Das gleiche Beispiel, das oben nur Tool 0.14397192001343 Sekunden verwendet, wenn viel von dem intensiven Code zu einem Bubble-Sort-C-Code verschoben wurde und einfach aus dem PHP-Code aufgerufen wurde.
Als eine Randnotiz funktional zu Ende Entwickler die Verwendung des Codes mit der Erweiterung ist sehr ähnlich wie die Dateien manuell in der PHP-Datei zu entwickeln, außer es muss nicht speziell enthalten sein, wie es durch getan wird die PHP-Erweiterungskomponente.
(Haftungsausschluss: Ich bin nicht mit diesem Entwickler verbunden, aber bin froh, dass ich darauf gestoßen bin, da es bis jetzt funktioniert, einige meiner Intensivklassen in PHP-Erweiterungen zu konvertieren, ohne C zu kennen).
Möchten Sie anderen erlauben, Ihre Klasse zu verwenden, ohne dass sie die Quelle anzeigen können? Wenn nicht, kopiere einfach die class.php in das Dateisystem wo die anderen Seiten es bekommen können. Wenn das nicht klappt, mache einfach viele Kopien. Normalerweise würden Sie Ihre PHP-Klasse nicht zu einer Erweiterung machen, es sei denn, Sie machen das aus Leistungsgründen. – bramp
Ja, ich muss andere die Klasse nutzen lassen, ohne die Quelle zu vergessen, danke für die Antwort – Wiika