SlideShare una empresa de Scribd logo
1 de 19
PHP5 & Oracle




       Oracle Usergroup Frankfurt / Björn Schotte / Mayflower Gm
I love PHP :-)
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)
PHP - ein paar
       Fakten
• treibt mehr als 20 Mio. Websites an
• Scriptsprache
• PHP ist die Borg (Integration)
• treibt immer mehr businesskritische
  Webanwendungen an
Wer nutzt PHP?




         ... und viele mehr
Businesskritische
   Enterprise
Leichtgewichtige Architekturen


Java                        PHP
• eXtreme Programming
• Scrum
• Sprint- und Kommunikations
 getrieben, kein Wasserfall
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
Entwicklungs-
geschwindigkeiten


   • Realisierung von Anwendungen in
     Wochen
     statt Monaten

   • prototypengetriebene Entwicklung
   • Kunde kann direkt eingreifen
PHP = Die Borg




Tonnen von PHP Extensions
(pecl.php.net)
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
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
Installation Oracle Treiber


• siehe Underground Manual
• Oracle InstantClient
• OCI8 Extension + PDO
• ... und schon geht‘s los :-)
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 :) )
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
Links
• http://wiki.oracle.com/page/PHP
  +Oracle+FAQ

• Underground PHP and Oracle
  Manual

• OCI8 PHP Dokumentation
• Zend Core for Oracle
Fragen?
Kontakt

    MAYFLOWER GmbH
        Björn Schotte
bjoern.schotte@mayflower.de

Más contenido relacionado

La actualidad más candente

Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit RexJan Gehring
 
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Digicomp Academy AG
 
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel OnkopediaBack to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel OnkopediaAndreas Jung
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenAptly GmbH
 
IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...
IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...
IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...Digicomp Academy AG
 
WebSocket my APEX!
WebSocket my APEX!WebSocket my APEX!
WebSocket my APEX!Kai Donato
 
Avoid Network-Issues and Polling
Avoid Network-Issues and PollingAvoid Network-Issues and Polling
Avoid Network-Issues and PollingKai Donato
 
TFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen GenerationTFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen GenerationNico Orschel
 
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)NETWAYS
 
Drupal 8 templating alles neu mit twig
Drupal 8 templating   alles neu mit twigDrupal 8 templating   alles neu mit twig
Drupal 8 templating alles neu mit twigSteffen Rühlmann
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimAlex Kellner
 
Universal Apps - FHDW
Universal Apps - FHDWUniversal Apps - FHDW
Universal Apps - FHDWPeter Nowak
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)NETWAYS
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3Peter Kraume
 

La actualidad más candente (15)

Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit Rex
 
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
Fachreferat: Visual Studio 2012, Windows 8 und .NET 4.5
 
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel OnkopediaBack to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...
IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...
IPv6 Networking-Referat «IPv6 Rollout im Datacenter - Varianten der Integrati...
 
WebSocket my APEX!
WebSocket my APEX!WebSocket my APEX!
WebSocket my APEX!
 
Avoid Network-Issues and Polling
Avoid Network-Issues and PollingAvoid Network-Issues and Polling
Avoid Network-Issues and Polling
 
ColdFusion gibt's das noch?
ColdFusion gibt's das noch?ColdFusion gibt's das noch?
ColdFusion gibt's das noch?
 
TFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen GenerationTFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen Generation
 
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
 
Drupal 8 templating alles neu mit twig
Drupal 8 templating   alles neu mit twigDrupal 8 templating   alles neu mit twig
Drupal 8 templating alles neu mit twig
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
 
Universal Apps - FHDW
Universal Apps - FHDWUniversal Apps - FHDW
Universal Apps - FHDW
 
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)Foreman: Provisionierungswege (Webinar vom 31. März 2016)
Foreman: Provisionierungswege (Webinar vom 31. März 2016)
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 

Destacado

Centro de Meditação - Vasant Swaha
Centro de Meditação - Vasant SwahaCentro de Meditação - Vasant Swaha
Centro de Meditação - Vasant SwahaRafael Pedro de Matos
 
Encontro de Sabedoria Ancestral
Encontro de Sabedoria AncestralEncontro de Sabedoria Ancestral
Encontro de Sabedoria AncestralJorge Maia
 
Mantraterapia - Andreia Oliveira
Mantraterapia - Andreia OliveiraMantraterapia - Andreia Oliveira
Mantraterapia - Andreia OliveiraMichele Pó
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Daniel Wildt
 
Mantras para uma vida saudavel
Mantras para uma vida saudavel Mantras para uma vida saudavel
Mantras para uma vida saudavel Amadeu Wolff
 
Mantraterapia "Tudo na Vida é Vibração" - Bárbara Alves
Mantraterapia "Tudo na Vida é Vibração" - Bárbara AlvesMantraterapia "Tudo na Vida é Vibração" - Bárbara Alves
Mantraterapia "Tudo na Vida é Vibração" - Bárbara AlvesMichele Pó
 
Dash remedios tratamentos_medicina_ayurvedica_para_doencas_comuns
Dash remedios tratamentos_medicina_ayurvedica_para_doencas_comunsDash remedios tratamentos_medicina_ayurvedica_para_doencas_comuns
Dash remedios tratamentos_medicina_ayurvedica_para_doencas_comunsEditora Chakpori
 
Exposicion de musicoterapia
Exposicion de musicoterapiaExposicion de musicoterapia
Exposicion de musicoterapiacreandotextos1
 
100 chas e seus beneficios medicinais
100 chas e seus beneficios medicinais100 chas e seus beneficios medicinais
100 chas e seus beneficios medicinaisKatniss Lima
 
Oléos Medicados no Ayurveda por Ana Carvalho
Oléos Medicados no Ayurveda por Ana CarvalhoOléos Medicados no Ayurveda por Ana Carvalho
Oléos Medicados no Ayurveda por Ana CarvalhoMichele Pó
 
Musica, Musicoterapia, Estresse e Sistema Imunologico TCC
Musica, Musicoterapia, Estresse e Sistema Imunologico TCCMusica, Musicoterapia, Estresse e Sistema Imunologico TCC
Musica, Musicoterapia, Estresse e Sistema Imunologico TCCGreco Lacerda Cruz
 
A Utilização da Musicoterapia no Tratamento de Autistas
A Utilização da Musicoterapia no Tratamento de AutistasA Utilização da Musicoterapia no Tratamento de Autistas
A Utilização da Musicoterapia no Tratamento de AutistasJP Rodrigues
 
Massagem Terapêutica na Medicina Ayurvédica
Massagem Terapêutica na Medicina AyurvédicaMassagem Terapêutica na Medicina Ayurvédica
Massagem Terapêutica na Medicina Ayurvédicaprojetacursosba
 

Destacado (19)

Centro de Meditação - Vasant Swaha
Centro de Meditação - Vasant SwahaCentro de Meditação - Vasant Swaha
Centro de Meditação - Vasant Swaha
 
Os 20 principais mantras da inovação
Os 20 principais mantras da inovaçãoOs 20 principais mantras da inovação
Os 20 principais mantras da inovação
 
Encontro de Sabedoria Ancestral
Encontro de Sabedoria AncestralEncontro de Sabedoria Ancestral
Encontro de Sabedoria Ancestral
 
Bom Karma
Bom KarmaBom Karma
Bom Karma
 
Mantraterapia - Andreia Oliveira
Mantraterapia - Andreia OliveiraMantraterapia - Andreia Oliveira
Mantraterapia - Andreia Oliveira
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013
 
Mantras para uma vida saudavel
Mantras para uma vida saudavel Mantras para uma vida saudavel
Mantras para uma vida saudavel
 
Mantraterapia "Tudo na Vida é Vibração" - Bárbara Alves
Mantraterapia "Tudo na Vida é Vibração" - Bárbara AlvesMantraterapia "Tudo na Vida é Vibração" - Bárbara Alves
Mantraterapia "Tudo na Vida é Vibração" - Bárbara Alves
 
Guia ilustrado video criar
Guia ilustrado video criarGuia ilustrado video criar
Guia ilustrado video criar
 
Ayurveda aromaterapia
Ayurveda aromaterapiaAyurveda aromaterapia
Ayurveda aromaterapia
 
Chakras
ChakrasChakras
Chakras
 
Dash remedios tratamentos_medicina_ayurvedica_para_doencas_comuns
Dash remedios tratamentos_medicina_ayurvedica_para_doencas_comunsDash remedios tratamentos_medicina_ayurvedica_para_doencas_comuns
Dash remedios tratamentos_medicina_ayurvedica_para_doencas_comuns
 
Exposicion de musicoterapia
Exposicion de musicoterapiaExposicion de musicoterapia
Exposicion de musicoterapia
 
100 chas e seus beneficios medicinais
100 chas e seus beneficios medicinais100 chas e seus beneficios medicinais
100 chas e seus beneficios medicinais
 
Oléos Medicados no Ayurveda por Ana Carvalho
Oléos Medicados no Ayurveda por Ana CarvalhoOléos Medicados no Ayurveda por Ana Carvalho
Oléos Medicados no Ayurveda por Ana Carvalho
 
Musica, Musicoterapia, Estresse e Sistema Imunologico TCC
Musica, Musicoterapia, Estresse e Sistema Imunologico TCCMusica, Musicoterapia, Estresse e Sistema Imunologico TCC
Musica, Musicoterapia, Estresse e Sistema Imunologico TCC
 
A Utilização da Musicoterapia no Tratamento de Autistas
A Utilização da Musicoterapia no Tratamento de AutistasA Utilização da Musicoterapia no Tratamento de Autistas
A Utilização da Musicoterapia no Tratamento de Autistas
 
Massagem Terapêutica na Medicina Ayurvédica
Massagem Terapêutica na Medicina AyurvédicaMassagem Terapêutica na Medicina Ayurvédica
Massagem Terapêutica na Medicina Ayurvédica
 
Musicoterapia
Musicoterapia Musicoterapia
Musicoterapia
 

Similar a PHP5 und Oracle

fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatenge20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatengeKarin Patenge
 
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnViktor Vogel
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015AboutYouGmbH
 
Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)Peter_Majmesku
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
Joomlaplatform deutsch
Joomlaplatform deutschJoomlaplatform deutsch
Joomlaplatform deutschRobert Deutz
 
Perl Renaissance Reloaded
Perl Renaissance ReloadedPerl Renaissance Reloaded
Perl Renaissance ReloadedGregor Goldbach
 
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365eLink Distribution AG
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsHussein Morsy
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumTEC Campus
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
Freelance Cakephp Programmierer
Freelance Cakephp ProgrammiererFreelance Cakephp Programmierer
Freelance Cakephp Programmiererheliossolutionsde
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Railsgearwheeldotnet
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployMark Lechtermann
 

Similar a PHP5 und Oracle (20)

fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatenge20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatenge
 
PHP auf IBM Plattformen
PHP auf IBM PlattformenPHP auf IBM Plattformen
PHP auf IBM Plattformen
 
PHPblue LOS!NRW
PHPblue LOS!NRWPHPblue LOS!NRW
PHPblue LOS!NRW
 
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios Workshop
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
Joomlaplatform deutsch
Joomlaplatform deutschJoomlaplatform deutsch
Joomlaplatform deutsch
 
Perl Renaissance Reloaded
Perl Renaissance ReloadedPerl Renaissance Reloaded
Perl Renaissance Reloaded
 
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
Polycom Webinar: Native Anbindung von Polycom Endpunkten an Microfost Office 365
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
Freelance Cakephp Programmierer
Freelance Cakephp ProgrammiererFreelance Cakephp Programmierer
Freelance Cakephp Programmierer
 
java apis
java apisjava apis
java apis
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Rails
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
 

Más de Mayflower GmbH

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mayflower GmbH
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: SecurityMayflower GmbH
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftMayflower GmbH
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientMayflower GmbH
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingMayflower GmbH
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...Mayflower GmbH
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyMayflower GmbH
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming MythbustersMayflower GmbH
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im GlückMayflower GmbH
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefernMayflower GmbH
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsMayflower GmbH
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalierenMayflower GmbH
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastMayflower GmbH
 

Más de Mayflower GmbH (20)

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Usability im web
Usability im webUsability im web
Usability im web
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 

PHP5 und Oracle

  • 1. PHP5 & Oracle Oracle Usergroup Frankfurt / Björn Schotte / Mayflower Gm
  • 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
  • 5. Wer nutzt PHP? ... und viele mehr
  • 6. Businesskritische Enterprise
  • 8. • eXtreme Programming • Scrum • Sprint- und Kommunikations getrieben, kein Wasserfall
  • 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
  • 17. Links • http://wiki.oracle.com/page/PHP +Oracle+FAQ • Underground PHP and Oracle Manual • OCI8 PHP Dokumentation • Zend Core for Oracle
  • 19. Kontakt MAYFLOWER GmbH Björn Schotte bjoern.schotte@mayflower.de