Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PHP Extension und Application Repository

Ähnliche Präsentationen


Präsentation zum Thema: "PHP Extension und Application Repository"—  Präsentation transkript:

1 PHP Extension und Application Repository
PEAR PHP Extension und Application Repository Marco Behnke - PEAR

2 global $presentation; $body->load_brain(
<?php global $presentation; $body->load_brain( $presentation->get_content() ); $body->getBrain()->calculate(); ?> Marco Behnke - PEAR

3 Gliederung Was ist PEAR? Installation / Konfiguration
Einsatzbereich / Was kann es? Beispiele Zusammenfassung Marco Behnke - PEAR

4 Historische Highlights
: Malin Bakken was born : the first few lines of PEAR code were committed (DB.php) : the PEAR and PEAR_Error classes were born : first working version of the "pear" command : first contributor to base system : first package uploaded to the current pear.php.net : installer can upgrade itself : first version of Gtk installer : first version of Web installer erdacht von Stig Bakken, gewidmet seiner erstgeborenen Tochter Marco Behnke - PEAR

5 Historische Highlights
Januar 2003: PEAR 1.0 wird mit PHP veröffentlicht 2005: aktuelle Version PEAR 1.4 erdacht von Stig Bakken, gewidmet seiner erstgeborenen Tochter Marco Behnke - PEAR

6 Motivation viele Entwickler weltweit produzieren und verbreiten dezentral Code keine vernünftige Versionshistorie kein Codestandard nur schwer wartbar keine zentrale Anlaufstelle eine Erweiterung für die PHP Scriptsprache, eingebunden eine Ansammlung von Applikationen / Module Marco Behnke - PEAR

7 Was ist PEAR? PHP Extension Application Repository 16.11.2005
eine Erweiterung für die PHP Scriptsprache, eingebunden eine Ansammlung von Applikationen / Module Marco Behnke - PEAR

8 Was ist PEAR? geordnete Bibliothek mit offenem Quellcode
Infrastruktur für den Betrieb von Quellcode einheitlicher Quellcodestil PHP Foundation Classes PHP Extension Community Library Quellcodestil für Kontrollstrukturen, Kommentare, Funktionsdeklarationen etc.... Wozu? Codewartung PHP Foundation Classes: hohe Qualität/stable. Auf weite Sicht nur noch diese in PHP Distribution, Packages unabhängig vom Umfeld, kombinierbar, verträgliche Schnittstelle, Abwärts und Vorwärtskompatibilität PECL Sub-Repository von PEAR für Erweiterungen in C, wie sie mit PHP4 vertrieben werden Marco Behnke - PEAR

9 Gliederung Was ist PEAR? Installation / Konfiguration
Einsatzbereich / Was kann es? Beispiele Zusammenfassung Marco Behnke - PEAR

10 Installation/Konfiguration (1)
ab PHP 4.3.x bereits enthalten vor Version 4.3.x Linux lynx -source | php vor Version 4.3.x Windows c:\php\go-pear.bat aktualisiere über php go-pear.php der PEAR Maneger ist abr Version 4.3.x bereits enthalten, eventuell jedoch deaktiviert --without-pear Zur Installation unter Linux oben stehendes Skript ausführen Installation unter Windows durch Download / Batchdatei aktualisieren über Webseitenaufruf und speichern go-pear.php und anschließenden Aufruf über PHP Marco Behnke - PEAR

11 Installation/Konfiguration (2)
CLI Installer für Packagedownload pear install <package> (analog dazu upgrade und uninstall) pear remote-list pear install <file>.tgz der PEAR Maneger ist abr Version 4.3.x bereits enthalten, eventuell jedoch deaktiviert --without-pear Zur Installation unter Linux oben stehendes Skript ausführen Installation unter Windows durch Download / Batchdatei aktualisieren über Webseitenaufruf und speichern go-pear.php und anschließenden Aufruf über PHP Marco Behnke - PEAR

12 pear vs. pear-core pear-core wird mit PHP ausgeliefert
pear-core umfasste ursprüngliche alle Packages neue Packages gelangen zukünftig in neue Verzeichnisse pear-core umfasst nur noch den Packagemanager Marco Behnke - PEAR

13 Gliederung Was ist PEAR? Installation / Konfiguration
Einsatzbereich / Was kann es? Beispiele Zusammenfassung Marco Behnke - PEAR

14 Einsatzbereich / Was kann es?
Zugriff auf Packages eigene Packageentwicklung Versionsverwaltung der Packages Niemand muss das Rad neu erfinden Einsatz in kleinen, wie in großen Projekten Marco Behnke - PEAR

15 PEAR Packages Authentication Benchmarking Caching Configuration
Console Database Date and Time Encryption Event File Formats File System Gtk HTML HTTP Images Internationalization Logging Mail Math Networking Numbers Payment PEAR PHP Science Streams Structures System Text Tools and Utilities XML Web Services Marco Behnke - PEAR

16 Statistik Total Categories: 41 Total Packages: 485
Total Releases: 2,592 Total Downloads: 17,813,385 Marco Behnke - PEAR

17 Lizenzen unter PEAR PHP Lizenz Apache Lizenz LGPL BSD 16.11.2005
Marco Behnke - PEAR

18 Gliederung Was ist PEAR? Installation / Konfiguration
Einsatzbereich / Was kann es? Beispiele Zusammenfassung Marco Behnke - PEAR

19 Net_POP3 Net_POP3::Net_POP3() Net_POP3::connect()
Net_POP3::deleteMsg() Net_POP3::disconnect() Net_POP3::getBody() Net_POP3::getListing() Net_POP3::getMsg() Net_POP3::getParsedHeaders() Net_POP3::getRawHeaders() Net_POP3::getSize() Net_POP3::login() Net_POP3::numMsg() Marco Behnke - PEAR

20 einfaches pop3-Beispiel
<?php include('Net_POP3.php'); $pop3 =& new Net_POP3(); // Zu Server verbinden $pop3->connect('localhost', 110); $pop3->login('richard', 'Alien3'); // die erste Nachricht abrufen $msg_head = $pop3->getParsedHeaders(1); $msg_body = $pop3->getBody(1)); // Postfachübersicht $msg_list = $pop3->getListing(); // Verbindung beenden $pop3->disconnect(); ?> einfaches pop3-Beispiel Marco Behnke - PEAR

21 einfaches Beispiel mit Net_FTP
<?php // package einbinden und ftp Verbindung aufbauen require_once 'Net/FTP.php'; $test = new Net_FTP('ftp.mydomain.com', 21); $test->connect(' ', 21); // daten holen var_dump($test->get('foo/bar.zip', '/tmp/downloaded.zip', true, FTP_BINARY)); // disconnect $test->disconnect(); ?> einfaches Beispiel mit Net_FTP Marco Behnke - PEAR

22 Eigene Klasse in PEAR <?php require_once "PEAR.php";
class My_Class extends PEAR { var $_str; // private function My_Class($str) // constructor $this->PEAR(); $this->_str = $str; } function _My_Class() // destructor $this->_PEAR(); ?> Eigene Klasse in PEAR Marco Behnke - PEAR

23 class: PEAR definiert Standardverhalten der PEAR Klassen Konstruktor
Destruktor (nn) Fehlerbehandlung Marco Behnke - PEAR

24 Gliederung Was ist PEAR? Installation / Konfiguration
Einsatzbereich / Was kann es? Beispiele Zusammenfassung Marco Behnke - PEAR

25 Zusammenfassung definiert coding style
gemeinsames Repository für Packageverwaltung PHP Foundation Classes und PECL einfacher Zugriff auf die Verwaltung Marco Behnke - PEAR

26 Vor- / Nachteile zentrale Ansprechpartner (Support / Feature Request)
Wartbarkeit durch Codestandard zentrale Sammelstelle für Erweiterungen Versionsänderungen an Modulen führen evtl. zu anderem / falschen Verhalten Marco Behnke - PEAR

27 Vielen Dank für Ihre Aufmerksamkeit
<?php return 0; ?> Marco Behnke - PEAR


Herunterladen ppt "PHP Extension und Application Repository"

Ähnliche Präsentationen


Google-Anzeigen