Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdLeopold Laurens de Groot Laatst gewijzigd meer dan 6 jaar geleden
1
Martin Schapendonk, Marcel van der Plas
Oracle en PHP Martin Schapendonk, Marcel van der Plas PHP is een van de meest bekende produkten die de open source wereld heeft voortgebracht. Inmiddels zijn bijna 21 miljoen websites gebouwd met PHP en is het daarmee de meest gebruikte programmeertaal voor internettoepassingen. Oracle ondersteunt open source technieken en projecten en heeft dan ook meegewerkt aan het mogelijk maken van het benaderen van de Oracle database via PHP. Vandaar onze presentatie over Oracle en PHP.
2
Agenda Wat is PHP? Wat is mogelijk met PHP? Oracle en PHP
Open source frameworks De volgende onderwerpen gaan we behandelen: Wat is php – stukje geschiedenis en syntax Wat is mogelijk met php Oracle en php: welke instellingen moet ik doen om in PHP een connectie te maken met Oracle Open source frameworks + 2 demo’s 18 september 2018 © 2007 Whitehorses B.V.
3
Wat is PHP? In 1994 ontworpen door Rasmus Lerdorf
PHP betekende eerst Personal home page/forms interpreter. Later PHP:Hypertext Preprocessor Afgeleid van perl Server side scripting taal Source code is onleesbaar PHP is in 1994 ontworpen door Rasmus Lerdorf. Hij vond dat er een taal moest komen die gemakkelijk dynamische webpagina’s kon maken. En dus ontwierp hij een scripting taal die afgeleid is van Perl. In eerste instantie was het officieel PHP/FI: Personal homepage/ form interpreter. Later werd de core herschreven door het duo Zeev Zuraski en Andi Gutmans. Deze hebben het bedrijf Zend opgericht en de zend engine gemaakt. PHP werd vanaf dat moment een afkorting van PHP: hypertext preprocessor. Dit om het typische gebruik van PHP aan te geven. laten zien PHP is een server-side scripting taal, wat zoveel betekent als code die op de server wordt uitgevoerd. Dit zorgt er weer voor dat de sourcecode niet zichtbaar is. De output van PHP kan dus in html formaat worden teruggestuurd naar de client browser.Zoals gezegd is PHP de meest gebruikte scriptingtaal voor websites. PHP is gemakkelijk aan te leren en er is veel over te vinden op internet. PHP wordt traditioneel in 1 adem genoemd met Linux, Apache en MySQL, ook wel afgekort tot LAMP. LAMP ontwikkelaars kunnen dus een complete website bouwen met open source tools. Wij willen hier in deze presentatie laten zien dat er ook prima met Oracle gewerkt kan worden in plaats van MySQL. (De voordelen ten opzichte van MySQL zijn natuurlijk stabiliteit, ondersteuning voor concurrency en stored procedures). Als je het dan hebt over Oracle dan heb je de zogenaamde OLAP (Orace, Linux, Apache, PHP) ontwikkelaars. Christopher Jones heeft hier een website over en gaf op de Oracle Openworld ook nog een presentatie over Oracle en PHP. 18 september 2018 © 2007 Whitehorses B.V.
4
Wat is mogelijk met PHP De gebruikelijke “language constructs”
Output in HTML formaat tonen Object oriented programming Werken met files Gebruik maken van cookies Pdf export Ajax En nog veel meer Met PHP kun je werken met variabelen en arrays, net als in de meeste programmeertalen. Variabelen worden voorafgegaan door het $. Je hoeft een variabele niet te declareren en je hoeft er ook geen typedeclaratie voor de te maken. Dit gebeurt allemaal automatisch. If then else constructies en For while loops zijn ook mogelijk , ook weer net als in bijna alle andere programmeertalen. Bij if then else constructies hoeft echter niet de “then” en niet de “end if” gebruikt te worden want de conditioneel uit te voeren commando’s vinden tussen accolades plaats. Dit geldt overigens ook voor de for.. While loops. De conditie, waaran de “if” moet voldoen, moet tussen haakjes. Object oriented programming werd al ondersteund in PHP versie 4 maar dit is in versie 5 sterk verbeterd. De open source frameworks maken overigens gebruik van object oriented programming, net als oscommerce, een open source e-shop. Bestanden: werken met bestanden is ook mogelijk. Openen/sluiten, lezen, schrijven is mogelijk met bestanden die op de server staan. Mocht je geen gebruik willen maken van een database dan zou je ook informatie in een tekst bestandje kunnen opslaan en later ophalen. Cookies: als de client omgeving dit toelaat kun je cookies achterlaten en bij een volgend bezoek van de website kun je deze cookies ook weer uitlezen zodat je bijvoorbeeld bepaalde gebruikersinstellingen zou kunnen bewaren. PDF export is mogelijk door middel van bijvoorbeeld het open source programma pdflib. Werken met Ajax is mogelijk met xajax, een open source library. Overigens ondersteunen de meeste open source frameworks het gebruik van Ajax zodat het niet echt moeilijk meer is om deze functionaliteit in te bouwen. Een mooie aanvulling hierop zou ook nog scriptaculous kunnen zijn. Dit is een set van javascript scriptjes die ervoor kunnen zorgen dat de site er nog gelikter uit komt te zien. Een fraaie demo hiervan is te zien op En nog veel meer: zoals mails versturen, tcp/ip communicatie, ip adres en browsertype van de client uitlezen en webservices maken. 18 september 2018 © 2007 Whitehorses B.V.
5
Hoe werkt PHP? Opening tag: <?PHP Closing tag: ?>
Je kunt HTML en PHP in 1 script door elkaar heen gebruiken. Variabelen voorafgegaan door $: $l_id Voorbeelden van php komen in de volgende sheets aan bod: 18 september 2018 © 2007 Whitehorses B.V.
6
Output <?php echo “Hello world”; ?> Of:
echo “<h1>Hello world</h1>”; 18 september 2018 © 2007 Whitehorses B.V.
7
Output met html tabel <table> <tr> <td>
<?php echo “Cell 1”;?> </td> <?php echo “Cell 2”;?> </tr> </table> 18 september 2018 © 2007 Whitehorses B.V.
8
variabelen <?php $l_omschrijving = “Pentium pc”;
echo “$l_omschrijving”; ?> 18 september 2018 © 2007 Whitehorses B.V.
9
Oracle & PHP Instellingen: Apache Php.ini Oci8.dll
Zend core voor Oracle (XE) Om het mogelijk te maken om met Oracle en PHP te werken moet de Apache webserver ingericht worden dat deze .PHP bestanden kan lezen, als dat nog niet was ingesteld. Maar de meeste webservers zijn waarschijnlijk wel standaard ingesteld voor PHP. Webhosters bieden trouwens complete pakketten aan met PHP (LAMP). Instellen gebeurt in de httpd.conf. AddType application/x-httpd-php .php PHPIniDir "C:\PHP Verder moet php.ini aangepast worden dat deze met de oci8.dll kan communiceren. extension=php_oci8.dll Die oci8.dll is laatst aangepast en sterk verbeterd. Deze dll zorgt er voor dat er met de Oracle database gecommuniceerd kan worden. (Persistent connection: connectie die niet automatisch gesloten wordt. Tweede request is sneller.) Zend: maakte al een core voor PHP maar met de Zend core voor Oracle hebben ze een kant-en-klaar pakket gemaakt zodat je meteen aan de slag kunt. In dit pakket zijn de instellingen die ik net genoemd heb al gedaan. Allereerst Oracle XE installeren. Na installatie checken of de database beschikbaar is en of je kunt connecten via SQLplus. Daarna de Zend core for Oracle installeren. Dit gaat met een wizard. De Apache webserver 2.2 wordt ook geinstalleerd, alsmede PHP versie 5. Overigens kun je kiezen of je Apache 2.2 opnieuw installeert of dat je een bestaande webserver gaat gebruiken. 18 september 2018 © 2007 Whitehorses B.V.
10
Oracle en PHP in code Connect Select Insert/update Stored procedures
commit/rollback Sluit connectie Zie d:\whitehorses\phpvoorbeelden.txt 18 september 2018 © 2007 Whitehorses B.V.
11
Connectie met Oracle <?php $c1=OCILogon("demo", "demo_pwd", "XE");
if ( ! $c1 ) { echo "Unable to connect: " . var_dump( OCIError() ); die(); } ?> 18 september 2018 © 2007 Whitehorses B.V.
12
Select statements $s1 = OCIParse($c1, "select * from departments");
OCIExecute($s1, OCI_DEFAULT); while (OCIFetch($s1)) { $l_id = ociresult($s1, "ID"); $l_name1 = ociresult($s1, "NAME"); $l_location1 = ociresult($s1, "LOCATION"); echo "$l_id1" . ' ' . "$l_name1" . ' ' . "$l_location1"; } 18 september 2018 © 2007 Whitehorses B.V.
13
DML // Insert voorbeeld
$s = OCIParse($c, "insert into departments values (40, 'IT','LOS ANGELES')"); OCIExecute($s, OCI_DEFAULT); // Update voorbeeld $s = OCIParse($c, "update departments set location = 'SAN FRANCISCO'"); 18 september 2018 © 2007 Whitehorses B.V.
14
Procedures <?php // Database procedure aanroepen $in_var = 10;
$s = OCIParse($c, "begin proc1(:bind1, :bind2); end;"); OCIBindByName($s, ":bind1", $in_var); OCIBindByName($s, ":bind2", $out_var, 32); // out variabele is max. 32 lang OCIExecute($s, OCI_DEFAULT); echo "Bij een inputwrde " . $in_var . "geeft de procedure " . $out_var . " terug."; ?> 18 september 2018 © 2007 Whitehorses B.V.
15
Commit/rollback // geef commit OCICommit($c); // geef rollback;
OCIRollback($c); 18 september 2018 © 2007 Whitehorses B.V.
16
Logoff <?php OCILogoff($c1); ?> 18 september 2018
© 2007 Whitehorses B.V.
17
JDeveloper PHP plugin Installeren door Help – check voor updates te kiezen. Kant-en-klare PHP code om een connectie te maken naar de database. Voor JDeveloper is er een plugin beschikbaar. Deze kun je installeren door Help – automatic updates te selecteren. Uit het lijstje kun je dan de PHP plugin selecteren. De PHP plugin voegt de mogelijkheid toe om in PHP een connectie te maken naar de Oracle database. Deze code kun je heel gemakkelijk copy-pasten in je eigen code. Verder zijn er wat standaard blokken PHP codes die je ook gemakkelijk in je code kunt copy-pasten. Jdeveloper laten zien. Staat in d:\oracle\jdeveloper\jdevstudio10132\jdev\bin 18 september 2018 © 2007 Whitehorses B.V.
18
PHP frameworks Geschreven in PHP mbv OO
Rapid application development mogelijk Meestal wordt MVC model gebruikt Voorbeelden: Zend Framework, CakePHP, Codeigniter, Symfony,ATK Allemaal leuk en aardig, dat PHP maar als je schermen wilt bouwen met alles erop en eraan zul je toch nogal wat code moeten kloppen. Frameworks nemen het werk uit handen. De meest bekende frameworks zijn geschreven in PHP mbv OO. Meestal wordt het model view controller model gebruikt. ATK: ziet er gelikt uit. Op de Oracle site is een tutorial met ATK. Ook Ajax mogelijk maar wel veel standaard layout. CakePHP: mooi framework dat ook met Oracle werkt. We laten twee demo’s zien: 1 met Cake en 1 met ATK. 18 september 2018 © 2007 Whitehorses B.V.
19
Framework demo’s ATK CakePHP
Hier een kleine demo waarbij een tabel wordt getoond. Met ATK kun je in een paar regels code een schermpje met een tabel maken, compleet met opmaak. Met CakePHP laten we een tabel zien met linkjes om te updaten en deleten. 18 september 2018 © 2007 Whitehorses B.V.
20
18 september 2018 © 2007 Whitehorses B.V.
21
18 september 2018 © 2007 Whitehorses B.V.
22
PHP en MVC Scheiding van datamodel, logica en presentatie
Bevordert leesbaarheid en herbruikbaarheid Controller View Model 18 september 2018 © 2007 Whitehorses B.V.
23
Meer PHP http://www.php.net http://www.zend.com http://www.cakephp.org
18 september 2018 © 2007 Whitehorses B.V.
24
? Vragen? Er valt over PHP nog veel meer te vertellen. Zoveel tijd wilde ik niet in beslag nemen. Als je nog prangende vragen hebt kun je ze nu stellen of naderhand. 18 september 2018 © 2007 Whitehorses B.V.
25
Einde Martin Schapendonk: Martin.schapendonk@whitehorses.nl
Marcel van der Plas: 18 september 2018 © 2007 Whitehorses B.V.
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.