Ein kurzer Talk auf der DOAG (Deutsche Oracle Anwendergruppe) in Frankfurt über das gute Zusammenspiel von PHP5 und Oracle sowie ein kurzer Einblick in die Welt agiler Webentwicklung für businesskritische Anwendungen.
3. PHP - Historie
• erfunden 1994 by Rasmus Lerdorf
• damals noch in Perl, 1995
Wandlung in C
• kleine Scriptsprache namens PHP/FI
(FI = Form Interpreter), Siegeszug
ab PHP4 (ca. 2000)
• angekommen im Unternehmens
Umfeld mit PHP5 (bessere OOP
Features, SPL, Extensions)
4. PHP - ein paar
Fakten
• treibt mehr als 20 Mio. Websites an
• Scriptsprache
• PHP ist die Borg (Integration)
• treibt immer mehr businesskritische
Webanwendungen an
9. QA, TDD & Co.
• PHPUnit für TDD (JUnit Port)
• CruiseControl als Unterbau für
automatisierte QA
• statische Code-Inspektion
• Selenium für Browserakzeptanztests
• sehr leichtgewichtig
10. Entwicklungs-
geschwindigkeiten
• Realisierung von Anwendungen in
Wochen
statt Monaten
• prototypengetriebene Entwicklung
• Kunde kann direkt eingreifen
11. PHP = Die Borg
Tonnen von PHP Extensions
(pecl.php.net)
12. PHP5 &
• sorry, keine Hexerei mehr :-)
• seit 2005 massive Verbesserung in
der Nutzung von Oracle mit PHP
• dank Kooperation Oracle & Zend
• PHP im Oracle App Server zur
Verfügung
13. PHP5 und Oracle
• „The Underground PHP and Oracle
Manual“
• Extensions OCI8, PDO
• Einbindung via Oracle InstantClient
• alternativ Zend Core for Oracle
• Connection Pooling via 11g
Database Resident Connection
14. Installation Oracle Treiber
• siehe Underground Manual
• Oracle InstantClient
• OCI8 Extension + PDO
• ... und schon geht‘s los :-)
15. Connections verwalten
• DCRP benutzen (OCI8 1.3, 11G)
• oci8.persistent_timeout setzen zum
expiren von idle connections
• keine Mehrfach-Verbindungen an
Oracle in einem Script
• oci_pconnect() benutzen (MySQL:
kein pconnect() benutzen :) )
16. Tägliche Arbeit
• normal wie mit anderen DBs
• Variable Binding
• LOB updating via
oci_new_descriptor() und dann -
>savefile() + oci_commit()
• kein Support für NCHAR oder NLOB
in OCI8 Extension