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

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Vorwort
1 Einleitung
2 Einführung in eZ Components
3 Die Applikationsbasis
4 Fehlerbehandlung und Debugging
5 Konfiguration
6 Datenbankanbindung
7 ORM mit PersistentObject
8 Template
9 Übersetzung
10 Benutzereingaben validieren
11 Authentifizierung
12 Bildverarbeitung
13 Archive und Dateien
14 Mail
15 Logging
16 Diagramme
17 Feeds und Caching
18 Setup
A Inhalt der Buch-CD
Stichwort

Download:
- ZIP, ca. 2,7 MB
Ihre Meinung?

Spacer
<< zurück
eZ Components von Tobias Schlitt, Kore Nordmann
Das Entwickler-Handbuch
Buch: eZ Components

eZ Components
geb., mit CD
454 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1073-7
Pfeil 6 Datenbankanbindung
Pfeil 6.1 Abstraktion
Pfeil 6.1.1 Abstraktion der API
Pfeil 6.1.2 SQL-Abstraktion
Pfeil 6.1.3 Unterstützte RDBMS
Pfeil 6.2 Nutzung in der Applikation
Pfeil 6.3 Die Database-Komponente
Pfeil 6.3.1 PDO
Pfeil 6.3.2 Fluent-Interfaces
Pfeil 6.4 Integration von Database
Pfeil 6.4.1 Ein neues Blog Posting erstellen
Pfeil 6.4.2 Prepared-Statements
Pfeil 6.4.3 Update
Pfeil 6.4.4 Daten auslesen
Pfeil 6.5 Komplexere Abfragen
Pfeil 6.5.1 Manuelle Queries
Pfeil 6.5.2 Sub-Selects
Pfeil 6.5.3 Joins
Pfeil 6.5.4 LIMIT und ORDER BY
Pfeil 6.6 Erweiterte Möglichkeiten
Pfeil 6.6.1 Lazy-Initialization
Pfeil 6.6.2 Ein anderes RDBMS verwenden
Pfeil 6.7 Fazit

Mit der Database-Komponente stellen eZ Components eine SQL-Query-Abstraktion bereit, welche die einheitliche Interaktion mit verschiedenen Datenbankmanagementsystemen ermöglicht.

6 Datenbankanbindung

Das Web ist entstanden, um Mitmenschen Daten zu präsentieren und mit ihnen gemeinsam an den Daten zu arbeiten. Mit dem Wachsen der darzustellenden Datenmengen entstehen neue Anforderungen an die verwendete Software, um diese Daten zu speichern und effizient darauf zuzugreifen.

Dateisysteme mit statischen Dateien alleine konnten diese Aufgabe in der Zeit der wachsenden Informationsmenge nicht mehr ausreichend erfüllen. Aus diesem Zwang heraus entstanden Skriptsprachen wie PHP, die Inhalte dynamisch auf Basis von vorgehaltenen Datenmengen erzeugen können.

Der frühe und schnelle Erfolg von PHP erklärt sich nicht unwesentlich durch die vielfältigen Anbindungsmöglichkeiten an relationale Datenbankmanagementsysteme (RDBMS), die nicht nur große Datenmengen zuverlässig und schnell zur Verfügung stellen können, sondern auch die Integrität und Verfügbarkeit der Daten sicherstellen.


Galileo Computing - Zum Seitenanfang

6.1 Abstraktion Zur nächsten ÜberschriftZur vorigen Überschrift

Diese Vielfalt der verfügbaren RDBMS wurde allerdings mit der Zeit ein immer größeres Problem in PHP. Mit der Anzahl der Installationen und Benutzer steigt auch die Anzahl der Serverumgebungen, in denen eine Applikation funktionieren muss. Viele PHP-Applikationen können nur mit einem oder wenigen RDBMS zusammenarbeiten, verlassen sich auf die konkrete API der Client-Bibliothek oder Eigenheiten in der SQL-Interpretation des RDBMS.


Galileo Computing - Zum Seitenanfang

6.1.1 Abstraktion der API Zur nächsten ÜberschriftZur vorigen Überschrift

Die Integration von MySQL mit PHP ist ein Beispiel für die unterschiedlichen APIs, selbst mit dem gleichen RDBMS. Mit PHP 5 und MySQL 4.1 entstand in PHP eine neue MySQL-Anbindung ext/mysqli, welche die bisher genutzte Erweiterung ext/mysql ablösen sollte, da aufgrund struktureller Probleme und neuer, inkompatibler Features in MySQL nicht mehr einfach weiterentwickelt werden konnte.

Mit PHP 5.1 zog die Erweiterung ext/pdo in der Kern von PHP ein und versprach, eine Abstraktion für die verschiedenen RDBMS-Integrationen in PHP zu bieten und endlich ein einheitliches Interface zu schaffen. Seitdem ist es möglich, für das verwendete RDBMS einen entsprechenden Treiber zu installieren und unabhängig vom RDBMS über die gleichen Methoden mit der Datenbank zu interagieren. PDO bietet dabei über alle RDBMS hinweg Unterstützung für Transaktionen und Prepared Statements, auf die später noch im Detail eingegangen wird.


Galileo Computing - Zum Seitenanfang

6.1.2 SQL-Abstraktion Zur nächsten ÜberschriftZur vorigen Überschrift

Die Database-Komponente baut auf PDO zur Abstraktion der verschiedenen RDBMS-Clients in PHP auf, jedoch kann und will PDO keine Abstraktion der Datenbanken an sich bieten. Auf Datenbanken greifen Sie in den meisten Fällen über die Structured Query Language (SQL) zu, die 1970 zum Zugriff auf relationale Daten entwickelt wurde und seitdem in mehreren Standards spezifiziert worden ist. Die erste deutliche Überarbeitung von 1992, SQL 92, wird mittlerweile von nahezu allen RDBMS vollständig implementiert, während SQL 1999 und SQL 2003 noch teilweise beziehungsweise größtenteils nicht implementiert sind.

Zum Leidwesen aller Entwickler gibt es jedoch bei vielen Teilen von SQL unterschiedliche Interpretationen spezieller Features, oder einige RDBMS haben Features zu einem Zeitpunkt entwickelt, als diese noch nicht standardisiert waren. Ein bekanntes Beispiel ist das in Webapplikationen gerne verwendete, aus MySQL bekannte LIMIT, um die die Ergebnismenge eines SELECT-Statements zu begrenzen. Dieses Feature wurde ursprünglich von Rasmus Lerdorf entwickelt und teilweise erst viel später in ähnlicher Form in anderen Datenbanksystemen integriert.

Die Aufgabe von Database ist es, Ihnen ein transparentes Interface zu bieten, das Sie unabhängig von den verschiedenen RDBMS macht, um das Portieren Ihrer Applikation in andere Server-Umgebungen zu erleichtern.


Galileo Computing - Zum Seitenanfang

6.1.3 Unterstützte RDBMS topZur vorigen Überschrift

Die Komponente Database unterstützt bislang eine Untermenge der von PDO angebundenen RDBMS. Da die Abstraktion von Database mit der SQL-Abstraktion weit über die Fähigkeiten von PDO hinausgeht, ist einiges an Aufwand zu investieren, um sicherzustellen, dass sich jedes neu angebundene RDBMS genau wie die anderen verhält. Bislang werden von Database die folgenden RDBMS unterstützt:

  • MySQL
  • SQLite
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server

Später in diesem Kapitel werden wir darauf eingehen, wie Sie Database auch für andere RDBMS erweitern können.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: PHP 5.3 und MySQL 5.1






 PHP 5.3 und
 MySQL 5.1


Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


Zum Katalog: Webshops mit Magento






 Webshops mit
 Magento


Zum Katalog: Sichere Webanwendungen






 Sichere
 Webanwendungen


Zum Katalog: PHP 5.3 und MySQL 5.1 - Videotraining






 PHP 5.3 und
 MySQL 5.1 -
 Videotraining


Zum Katalog: Apache 2






 Apache 2


Zum Katalog: Suchmaschinen-Optimierung für Webentwickler






 Suchmaschinen-
 Optimierung
 für Webentwickler


Zum Katalog: Joomla! 1.5






 Joomla! 1.5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de