eZ Components

Post on 02-Jul-2015

106 views 2 download

description

Vorstellung der eZ Components bei der PHP Userroup Hannover am 3.7.2008

Transcript of eZ Components

Vorstellung der eZ Components

PHP Usergroup Hannover, 3.7.2008Trilos GbR

Frank Staude

Königstr. 7

30175 Hannover

Email: staude@trilos.de

Was sind die eZ Components

• Warum sind sie entstanden

• Bibliothek für PHP5 Anwendungen

• Kein Framework

• Open Source• Open Source

Designziele

• Lose gekoppelte Komponenten,

kein „Rattenschwanz“ von Abhängigkeiten

• Test-getriebene Entwicklung

• Dokumentation• Dokumentation

• Objektorientiert „Reines PHP 5.x“

• Flexibel

Status

• Homepage: ezcomponents.org

• Aktuelle Version: 2008.1 (Benötigt min. PHP

5.2.1)

• Nächste Version 2008.2 (Ende 2008)• Nächste Version 2008.2 (Ende 2008)

Installation

3 Wege zum Ziel

• Download des Pakets

der manuelle Weg

• PEAR Installer• PEAR Installer

der automatische Weg

• SVN Checkout

kann unstable Code enthalten

Download des Pakets

http://ezcomponents.org/download/dl_components

Das Paket der Wahl aussuchen und herunterladen.

PEAR Installer

• Den „Channel“ wechseln

$ pear channel-discover components.ez.no

• Installieren

$ pear install -a ezc/eZComponents$ pear install -a ezc/eZComponents

• Update der Componenten

$ pear upgrade ezc/eZComponents

SVN Checkout

• Komponenten Repository auschecken

$ svn co http://svn.ez.no/svn/ezcomponents/trunk

• Skripte auschecken

$ svn co http://svn.ez.no/svn/ezcomponents/scripts$ svn co http://svn.ez.no/svn/ezcomponents/scripts

• Setup machen$ scripts/setup-env.sh

$ scripts/setup-env.bat

SVN Checkout

• Andere interessante Dinge im SVN

• Zukünftige Komponentenhttp://svn.ez.no/svn/ezcomponents/experimental

• Artikel, interne Dokumentation• Artikel, interne Dokumentationhttp://svn.ez.no/svn/ezcomponents/docs

Abhängigkeiten

• PHP 5.2.1

• Extensions

– SPL

– DOM– DOM

– PDO (für Datenbankkomponenten)

– GD/Imagemagik (Image-Komponenten)

Tie-Ins

Alle Komponenten sind von der BaseKlasse

abgeleitet. Komponenten haben keine

weiteren Abhängigkeiten zu anderen

Komponenten. TieIns sind eigene Komponenten. TieIns sind eigene

Komponenten die zwei bestehende zu einer

neuen Verbinden. Z.B. EventLog und Database

zu EventLogDatabaseTieIn.

Komponenten

Archive

Authentication

AuthenticationDatabaseTiein

Base

Cache

Configuration

ConsoleTools

Database

DatabaseSchema

Mail

PersistentObject

PersistentObjectDatabaseSchemaTiein

PhpGenerator

Search

SignalSlot

SystemInformation

Template

TemplateTranslationTieinDatabaseSchema

Debug

Document

EventLog

EventLogDatabaseTiein

Execution

Feed

File

Graph

GraphDatabaseTiein

ImageAnalysis

ImageConversion

TemplateTranslationTiein

Translation

TranslationCacheTiein

Tree

TreeDatabaseTiein

TreePersistentObjectTiein

Url

UserInput

Webdav

Workflow

WorkflowDatabaseTiein

WorkflowEventLogTiein

WorkflowSignalSlotTiein

Features

• Lazy-InitKonfiguration von Komponenten ohne diese Vollständig zu

instanzieren

• Signal-Slot Wie z.B. auch in der QT Bibliothek. Wie z.B. auch in der QT Bibliothek.

Subject-Observer-Pattern.

• ExceptionsAlle Komponenten werfen aussagekräftige Exceptions im Fehlerfall

• Virtual PropertiesStellt Typ und Wertcheck „on the Fly“ zur Verfügung bei den

Interzeptoren __get, __set und __isset

Dokumentation

• Dokumentation zu jeder Version, jeder

Komponente und Tutorials zu jeder

Komponente findet man unter

http://ezcomponents.org/docshttp://ezcomponents.org/docs

• Artikel und Präsentationen gibt es unter

http://ezcomponents.org/resources