Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort
Vorwort
1 PEAR – Einführung
2 Authentication
3 Caching
4 Date and Time
5 File Formats
6 HTTP
7 Internationalization
8 Mail
9 Networking
10 PHP
11 Text
12 Web Services
13 Benchmarking
14 Configuration
15 Database
16 File System
17 HTML
18 Images
19 Logging
20 Math
21 Numbers
22 Tools and Utilities
23 XML
24 Selbst Pakete erstellen
25 PECL
Index
Ihre Meinung?

Spacer
 <<   zurück
PHP PEAR von Carsten Möhrke
Anwendung und Entwicklung – Erweiterungen für PHP schreiben
Buch: PHP PEAR

PHP PEAR
798 S., 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-580-0
gp 25 PECL
  gp 25.1 Allgemeines
  gp 25.2 Installation
  gp 25.3 crack
  gp 25.4 apd
  gp 25.5 bcompiler
  gp 25.6 perl
  gp 25.7 Xdebug
  gp 25.8 APC
  gp 25.9 IDN
  gp 25.10 blenc
  gp 25.11 xmlreader
  gp 25.12 xmlwriter
  gp 25.13 id3

25 PECL

PECL, die Extension Community Library, früher auch »PHP Extension Code Library« genannt, ist eine Sammlung von interessanten PHP-Erweiterungen, die in C programmiert wurden. Diese Erweiterungen sind deutlich performanter und systemnäher als die PEAR-Pakete.


Rheinwerk Computing

25.1 Allgemeines  toptop

PECL (ausgesprochen »pickle«) ist ein Schwesterprojekt von PEAR. Ursprünglich ein Teil von PEAR, ist PECL inzwischen ein eigenständiges Projekt geworden. Die hier enthaltenen Erweiterungen sind in C programmiert. Das hat den Vorteil, dass sie natürlich deutlich schneller in der Ausführung sind und systemnäher arbeiten können. Allerdings bringt das auch den Nachteil mit sich, dass die Erweiterungen erst auf Ihrem Server kompiliert und eingebunden werden müssen, was nicht immer ganz unproblematisch ist. Die Probleme resultieren zum Teil daraus, dass eine bestimmte Version einer zusätzlichen Bibliothek benötigt wird oder Ähnliches. Vor diesem Hintergrund werden die PECL-Pakete auch eher von Profis genutzt.

Die Auswahl der hier vorgestellten Pakete ist mir nicht leicht gefallen. So ist beispielsweise tidy, ein Paket, mit dem Sie die Validität von HTML-Code prüfen können, in PECL veraltet. Die aktuelle Version ist wieder Bestandteil von PHP 5. Somit habe ich auf tidy verzichtet. Ein anderes Paket, das ich gern vorgestellt hätte, ist mono. Bei mono handelt es sich um ein Projekt, das bemüht ist, Microsofts .Net-Technologie auf Basis von Open-Source zu implementieren. Allerdings ist PECLs mono-Version zurzeit leider ein wenig veraltet, so dass eine Kompilierung nicht ohne weiteres möglich ist.

Andere Pakete können auch schon mal Ihr PHP aus dem Tritt bringen, was dazu führen kann, dass Ihr Server kein PHP mehr verarbeitet. Daher sollten Sie eine PECL-Erweiterung nie auf einem Produktivserver installieren, ohne diese vorher zu testen.

Diese Beispiele erwähne ich deswegen, weil es bei PECL-Paketen sicher nötig ist, noch ein wenig genauer zu prüfen, ob Sie das Paket wirklich nutzen können bzw. nutzen wollen.

Der Server des PECL-Projekts ist unter http://pecl.php.net zu finden. Dort finden Sie auch die entsprechenden Pakete.

Leider ist momentan zu keinem der Pakete eine echte Dokumentation vorhanden, was die Nutzung nicht unbedingt vereinfacht. In einigen Fällen finden Sie in der PHP-Dokumentation einige hilfreiche Seiten. Benötigen Sie beispielsweise Informationen zu blenc, rufen Sie einfach http://www.php.net/blenc auf und werden fündig. Leider wird Ihnen das nicht immer helfen. Die Informationen in der PHP-Dokumentation beziehen sich oft auf die Zeit, als diese PECL-Pakete noch Bestandteil von PHP und nicht des PECL-Projekts waren. Daher sind sie teilweise nicht mehr aktuell.

In einigen Fällen finden Sie Anleitungen oder Präsentationen zu den Paketen auf den Homepages der Entwickler, auf Homepages von Kongressen oder unter der URL http://talks.php.net.

Hilft Ihnen das alles nicht weiter, können Sie auch hier wieder auf Mailinglisten und den Internet Relay Chat zurückgreifen. Die Mailinglisten zu PECL können Sie unter http://pecl.php.net/support.php abonnieren. Den IRC-Channel zu PECL finden Sie im EFNet unter dem Namen #php.pecl.

Haben Sie eine Erweiterung übersetzt und komplett eingebunden, können Sie die Funktion get_extension_funcs() aufrufen. Sie bekommt den Namen der Erweiterung als Parameter übergeben und liefert Ihnen alle enthaltenen Funktionen als Array zurück. Allerdings liefert sie Ihnen wirklich nur die Namen der Funktionen zurück. Somit haben Sie keine Informationen über den Sinn der Funktion, Parameter oder Rückgabewerte. Des Weiteren werden bei objektorientierten Erweiterungen auch keine Methoden oder Klassen ausgelesen.

Wenn alle Stricke reißen, können Sie natürlich auch einen Blick in die Sourcen werfen. Wenn Sie ein wenig Erfahrung in der C-Programmierung haben, sollte Ihnen das kein größeres Problem bereiten.

Bei Erweiterungen, die prozedural arbeiten, erkennen Sie die Deklaration der PHP-Funktionen daran, dass die Funktion mit PHP_FUNCTION() angemeldet wird. PHP_FUNCTION() bekommt den Namen der Funktion, wie sie in PHP verfügbar ist, als Parameter übergeben. Danach folgt dann sofort der C-Code, der die Funktion beschreibt.

Bei objektorientierten Erweiterungen erkennen Sie die Klasse, die die Erweiterung bereitstellt, daran, dass sie mit INIT_CLASS_ENTRY() definiert wird. Der zweite Parameter ist dabei der Name der Klasse, die Sie in PHP aufrufen können. Die Methoden werden jeweils mithilfe von PHP_METHOD() deklariert.

 <<   zurück
     
  Zum Katalog
Zum Katalog: PHP PEAR
PHP PEAR
Jetzt bestellen!
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: PHP 5.6 und MySQL 5.7






 PHP 5.6 und
 MySQL 5.7


Zum Katalog: Einstieg in PHP 5.6 und MySQL 5.6






 Einstieg in PHP 5.6
 und MySQL 5.6


Zum Katalog: Responsive Webdesign






 Responsive Webdesign


Zum Katalog: Moderne Websites entwickeln






 Moderne Websites
 entwickeln


Zum Katalog: MySQL 5.6






 MySQL 5.6


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de