Download presentation
Presentation is loading. Please wait.
Published byMaryann Clark Modified over 8 years ago
1
Introduction to PHP Development with IDS Jean Georges Perrin IIUG I13 Tuesday, October 4 th 2006 16:15 – 17:15. Platform: IDS, PHP
2
2 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
3
3 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
4
4 Who am I? My Unix box usually answers…
5
5 Who am I (outside of a Unix box)? Jean Georges Perrin Development tools (xGL, Java EE, PHP) Works with Informix products since ’97 IIUG board member since ’02 Lives in Strasbourg, France
6
6 A little more… Application developer, started with Visual Basic, in the early 90s In the web since 1994 Move to 4GL in 1997 Goals: Webizing all things I touched (business apps, catalogs and i-4GL…) Find the ease of use of Visual Basic
7
7 And you… Who knows 4GL? Who knows Java? Who thinks Java is difficult? Who knows PHP? Who thinks PHP is easy? Who knows.net? Who went to my Java lecture earlier this week?
8
8 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
9
9 Architecture Data Application Database Driver
10
10 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
11
11 Requirements #1 - IDS (from v7.x, but also works on OnLine and SE) Where: www.iiug.org, www.informix.comwww.iiug.orgwww.informix.com #2 - PHP (PHP v5.1.4) Where: www.php.netwww.php.net #3 - PDO driver Where: pecl.php.net, pecl4win.php.netpecl.php.netpecl4win.php.net #4 - Option: Eclipse (v3.2.0) Where: www.eclipse.orgwww.eclipse.org
12
12 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
13
13 A few words on PHP’s history PHP stands for “PHP Hypertext Processor” PHP is currently v5 Not well accepted by “serious” company
14
14 <?php function main() { echo ("Hello, world..."); } main(); ?> PHP Hello, world… in PHP Use of “PHP CLI” Code snippets: <?php echo "Hello, world..."; ?> Source code is between markers A function is a function… “Hello, world…” is always the same, in any language… fglpc + fglgo DEMO
15
15 PHP Pros & Cons Procedural & Object Oriented (OO) development Event driven programming model User Interface (UI) & Business Logic (BL) tightly linked Open architecture, open standards General purpose development language Becoming a standard Looks like “hype” to some developers
16
16 4GL Pros & Cons Procedural development “Controlled” events UI and BL somehow separated (.per &.4gl) Proprietary solution Business apps development language Not a standard in industry Hard to attract new developers
17
17 4GL and PHP Weak typing Assign an integer to a string Not case sensitive Well almost… not for variables. 2 types of string “parsed strings” ‘unparsed strings’
18
18 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
19
19 Two ways to access data Function calls ifx_* and ifxus_* functions PHP Data Objects (PDO) Set of “static” methods More standard Not to be compared to “real data objects” Support for SERIAL in cvs
20
20 PDO – The way to go Clearly the future of data access in PHP Standard way of talking to a database Use a connection string, for IBM Informix: $db = new PDO("informix:host=xeo;service=1526; ► database=stores_demo;server=ol_xeo;protocol=olsoctcp;► EnableScrollableCursors=1;DB_LOCALE=EN_US.8859-1“ /* connection string */, "informix"/* user */, "informix"/* password */);
21
21 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
22
22 Understanding php.ini Convenient way to “extend” PHP. Specify you want to use: PDO PDO Informix … extension=php_pdo.dll extension=php_pdo_informix.dll … DEMO
23
23 Your first application using the Command Prompt Full source code (copy / paste): <?php $i = 0; $db = new PDO("informix:host=xeo;service=1526; ► database=stores_demo;server=ol_xeo;protocol=olsoctcp;► EnableScrollableCursors=1;DB_LOCALE=EN_US.8859-1“ /* connection string */, "informix"/* user */, "informix"/* password */); $rs = $db->query("SELECT * from customer"); $colCount = $rs->columnCount(); for ($i = 0; $i < $colCount; $i++) { $meta = $rs->getColumnMeta($i); echo ($meta['name']. "|"); } echo ("\n");
24
24 Your first application (2) foreach ($rs as $row) { for ($i = 0; $i < $colCount; $i++) { echo ($row[$i]. "|"); } echo ("\n"); } ?> DEMO
25
25 Running a query One method is “query” Code snippet: $db = new PDO("informix:host=xeo;service=1526; ► database=stores_demo;server=ol_xeo;protocol=olsoctcp;► EnableScrollableCursors=1;DB_LOCALE=EN_US.8859-1“ /* connection string */, "informix"/* user */, "informix"/* password */); $rs = $db->query("SELECT * from customer"); Connection Basic query
26
26 Accessing meta data PDO allows you to access Metadata Code snippet: $colCount = $rs->columnCount(); for ($i = 0; $i < $colCount; $i++) { $meta = $rs->getColumnMeta($i); echo ($meta['name']. "|"); } echo ("\n"); Column count for the result set Returns an array containing meta data Accessing the ‘name’ parameter of the meta data
27
27 Dumping rows Basic browsing thru a result set using foreach Code snippet: foreach ($rs as $row) { for ($i = 0; $i < $colCount; $i++) { echo ($row[$i]. "|"); } echo ("\n"); } ?>
28
28 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
29
29 Your first application using Eclipse Create a project Add the code Run it DEMO
30
30 Agenda Who am I? Architecture Requirements PHP Functions vs. PDO Your first application using the Command Prompt Your first application using Eclipse Your first web application
31
31 Your first web application The same application, but web Strong embedding of HTML tags in the code DEMO
32
32 Web Source Code List of customers <?php $i = 0; $db = new PDO( "informix:host=xeo;service=1526;database=stores_demo;server=ol_xeo;protocol=olsoctcp;Ena bleScrollableCursors=1;DB_LOCALE=EN_US.8859-1"/* connection string */, "informix"/* user */, "informix"/* password */); $rs = $db->query("SELECT * from customer"); $colCount = $rs->columnCount(); echo (" "); for ($i = 0; $i < $colCount; $i++) { $meta = $rs->getColumnMeta($i); echo (" ". $meta['name']. " "); } echo (" ");
33
33 Web Source Code (2) echo (" "); foreach ($rs as $row) { //print_r(); echo(" "); for ($i = 0; $i < $colCount; $i++) { echo (" ". $row[$i]. " "); } echo(" "); } echo (" "); ?>
34
34 Pros & Cons The strong dependency between business logic and presentation layer is annoying Introduction of MVC framework PHP getting closer and closer to Java!
35
35 Conclusion PHP now offers a standard way of accessing data PHP is easy PHP is rich PHP runs: Command line apps (batch) Web apps Frameworks are coming (Zend)
36
36 Complexity & Features Level of complexity / feature of languages over time 200020051994 Easy Difficult 4GL 2001200220032004200619991998199719961995 PHP OO in PHP 4 Zend Framework? PHP 5 J2EE Java SE 5 Eclipse Java Java EE 5
37
37 And now… If you missed my other presentation: “Introduction to Java development with IDS” too bad! Come to see me in San Jose (May 2007): “Introduction to EJB3 dev. with IDS and Viper” (Give me good marks so I can be selected as best speaker of the conference and beat Darryl, Lester and Art - previous speakers).
38
38 And now (seriously)… Download Eclipse (I guess you all have IDS already) Download PHP Get a book (O’Reilly has quite a few great books, I learnt PHP with “PHP for dummies”) Join the development-tools forum on IIUG web site Get started with a few examples
39
39 Jean Georges Perrin IIUG jgp@iiug.org jgp@jgp.net I13 Introduction to PHP Development with IDS
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.