PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Externe Bibliotheke (C) einbinden



greutli
13-04-2006, 07:48
Hi

Ich habe zu diesem Thema bisher nichts brauchbares gefunden. Entweder suche ich falsch, oder es gibt wirklich nur sehr spärlich Informationen darüber.

Meine Frage: Kann ich in php-skripte externe c-bibliotheken einbinden? Falls ja, wie performant ist das ganze?

mfg
greutli

Gaert
13-04-2006, 09:19
Hallo greutli,

Die Antwort ist nicht ganz einfach... man kann den PHP Befehlssatz durch externe Bibliotheken erweitern, (siehe z.B. PECL -> http://pecl.php.net) (http://pecl.php.net%29).
DLLs oder SOs die nicht direkt für PHP geschrieben wurden können nicht eingebunden werden.

Zur Performance: Native C, oder C++ Funktionen sind i.d.R. immer schneller als Funktionen die in PHP selbst geschrieben sind. Yahoo verwendet beispielsweise PHP als Template Engine - die Funktionalität dahinter ist aus Performancegründen in C/C++ geschrieben.

Tutorial: http://www.zend.com/php/internals/extension-writing1.php

Gruß,

Gaert

Philipp7
18-04-2006, 16:55
Ein weiteres Problem ist die Portabilität - Solltest Du beabsichtigen, Deinen Code kommerziell oder in anderer Weise zu veröffentlichen, so hat nicht jeder Anwender die Möglichkeit, externe C Bibliotheken auf seinem Webspace, VServer o.ä. einzubinden...

Einige gute Artikel gibt es dazu im PHP-Magazin (2005/5 und 4 Ausgabe afaik)
link: www.php-mag.de, leider nicht direkt online, aber ggf. bestellbar

"PHP-Extensions im Eigenbau – Teil 1"
"PHP-Extensions im Eigenbau – Teil 2"