Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to PHP Development with IDS Jean Georges Perrin IIUG I13 Tuesday, October 4 th 2006 16:15 – 17:15. Platform: IDS, PHP.

Similar presentations


Presentation on theme: "Introduction to PHP Development with IDS Jean Georges Perrin IIUG I13 Tuesday, October 4 th 2006 16:15 – 17:15. Platform: IDS, PHP."— Presentation transcript:

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


Download ppt "Introduction to PHP Development with IDS Jean Georges Perrin IIUG I13 Tuesday, October 4 th 2006 16:15 – 17:15. Platform: IDS, PHP."

Similar presentations


Ads by Google