1 / 58

Professional Home Page : PHP

Professional Home Page : PHP. วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์) sobree@skt.ac.th. เนื้อหา. ประวัติของ PHP PHP คืออะไร ทำไม PHP จึงเป็นที่นิยม โครงสร้างของ PHP Language Reference ข้อแตกต่างของ PHP กับ ASP. ประวัติ PHP. PHP ย่อมาจาก Professional Home Page

john
Télécharger la présentation

Professional Home Page : PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Professional Home Page :PHP วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์) sobree@skt.ac.th

  2. เนื้อหา • ประวัติของ PHP • PHP คืออะไร • ทำไม PHP จึงเป็นที่นิยม • โครงสร้างของ PHP • Language Reference • ข้อแตกต่างของ PHP กับ ASP

  3. ประวัติ PHP • PHP ย่อมาจาก Professional Home Page • เริ่มสร้างขึ้นในกลางปี 1994 • ผู้พัฒนาคือ นาย Rasmus Lerdorf • ปัจจุบัน PHP มีการพัฒนามาเป็นรุ่นที่ 4 - Version แรกเป็นที่รู้จักในชื่อว่า Personal Homepage Tools ในปี 1994 ถึงกลางปี1995 - Version ที่สองชื่อว่า PHP/FI ในกลางปี 1995

  4. ประวัติ PHP (ต่อ) - Version 3 เป็นที่รู้จักกันในชื่อว่า PHP3 เริ่มใช้กลางปี 1997 - ปัจจุบัน Version 4 Beta 2 ใช้ชื่อว่า Zend (Zend ย่อมาจาก Ze(ev) + (A)nd(I Gutmans)

  5. รายชื่อของนักพัฒนาภาษา PHP • Zeev Suraski, Israel • Andi Gutmans, Israel • Shane Caraveo, Florida USA • Stig Bakken, Norway • Andrey Zmievski, Nebraska USA • Sascha Schumann, Dortmund, Germany • Thies C. Arntzen, Hamburg, Germany • Jim Winstead, Los Angeles, USA • Rasmus Lerdorf, North Carolina, USA

  6. PHP คืออะไร • เป็นภาษา Script สำหรับแสดงเว็บเพจอย่างหนึ่ง จัดอยู่ในกลุ่ม Server Side Script เช่นเดียวกับ ASP • การทำงานจะแทรกอยู่ในเอกสาร HTML • สามารถ Compile ได้ทั้งบนระบบปฏิบัติการ UNIX, Windows NT, Windows 9x • ความสามารถในการทำงานสูง โดยเฉพาะกับการติดต่อกับ Database เช่น MySQL, mSQL, Sybase และ PostgreSQL เป็นต้น

  7. สิ่งที่ PHP สามารถทำได้ • CGI • Database-enable web page • Database Adabas D InterBaseSolid DBasemSQL Sybase Empress MySQL Velocis FilePro Oracle Unix dbm Informix PostgreSQL

  8. ทำไม PHP จึงเป็นที่นิยม • Open source • No cost implementation – PHP เป็นของฟรี • Server side • Open Source • Crossable Platform • HTML embedded • Simple language

  9. ทำไม PHP จึงเป็นที่นิยม • Efficiency– • XML parsing • Server side • Database module • File I/O • Text processing • Image processing

  10. การทำงานของ PHP • ทำงานบน Server • ทำงานร่วมกับเอกสาร html • สามารถแทรกคำสั่ง PHP ได้ตามที่ต้องการลงในเอกสาร html • ทำงานในส่วนที่เป็นคำสั่งของ PHP ก่อน เมื่อมีการเรียกใช้เอกสารนั้น ๆ • แสดงผลออกทาง Web Browsers

  11. โครงสร้างภาษา PHP • แบบที่ 1 XML style <?php คำสั่งภาษา PHP ?> ตัวอย่าง <?php echo “Hello ! World ! <br>”; echo “I am PHP”; ?>

  12. โครงสร้างภาษา PHP (ต่อ) • แบบที่ 2 SGML style <? คำสั่งภาษา PHP ?> ตัวอย่าง <? echo “Hello ! World ! <br>”; echo “I am PHP”; ?>

  13. โครงสร้างภาษา PHP (ต่อ) • แบบที่ 3 Java Language style <script language=“php”> คำสั่งภาษา PHP </script> ตัวอย่าง <script language=“php”> echo “Hello ! World”; </script>

  14. โครงสร้างภาษา PHP (ต่อ) • แบบที่ 4 ASP Style <% คำสั่งภาษา PHP %> ตัวอย่าง <% echo “Hello ! World ! <br>”; echo “I am PHP”; %>

  15. โครงสร้างของภาษา PHP (ต่อ) • จากตัวอย่าง แบบที่เป็นที่นิยม คือ แบบที่ 1 • ผลที่ได้เมื่อผ่านการทำงานแล้วจะได้ผลดังนี้ Hello ! World ! I am PHP • ข้อสังเกต - รูปแบบคล้ายกับภาษา C และ Perl - ใช้เครื่องหมาย ( ; ) คั่นระหว่างคำสั่งแต่ละคำสั่ง • File ที่ได้ต้อง save เป็นนามสกุล php หรือ php3 เท่านั้น

  16. Language Reference • Comments - เหมือนกับการ Comment ของภาษา C, C++ และ Unix • ตัวอย่าง <?php echo “Hello !”; // การ comment แบบ 1 บรรทัด /* แบบหลายบรรทัด ตั้งแต่ 2 บรรทัดขึ้นไป */ echo “World”; # การ comment แบบ shell-style ?>

  17. คำสั่ง echo • เป็นคำสั่งสำหรับแสดงผลลัพธ์ไปที่โปรแกรม browser • รูปแบบของคำสั่ง echo ข้อความ1 หรือตัวแปร1, ข้อความ2 หรือตัวแปร2, ข้อความ3 หรือตัวแปร3, … • ข้อความ เขียนภายใต้เครื่องหมาย double quote (“ “) หรือ single quote (‘ ‘) • ตัวแปรของภาษา PHP จะขึ้นต้นด้วยเครื่องหมาย $ เสมอ คล้ายกับภาษา Perl

  18. ตัวอย่างที่ 1 intro-1.php <HTML> <HEAD> <TITLE>Example –1</TITLE> <BODY> <? echo "Hi, I'm a PHP script!"; ?> <BODY> </HTML> Hi, I'm a PHP script!

  19. ตัวอย่างที่ 2intro-2.php <HTML> <HEAD> <TITLE> Example –2</TITLE> </HEAD> <BODY> Today’s Date: <? print(Date("l F d, Y")); ?> </BODY> </HTML> Today's Date: Thursday April 06, 2000

  20. ตัวอย่างที่ 3 intro-3.php <HTML> <HEAD> <TITLE> Example –3</TITLE> </HEAD> <BODY> Today’s Date: <? /* ** print today’s date */ print(Date("l F d, Y")); ?> </BODY> </HTML> Today's Date: Thursday April 06, 2000

  21. ตัวอย่างที่ 4 <? $YourName = "Seree"; $Today = date("l F d, Y"); $CostOfLunch = 3.50; $DaysBuyingLunch = 4; ?> <HTML> <HEAD> <TITLE> Example –4</TITLE> </HEAD> <BODY> Today’s Date: <? /* ** print today’s date */ print("<H3>$Today</H3>\n");

  22. ตัวอย่างที่ 4 (ต่อ) /* ** print message about lunch cost */ print("$YourName, you will be out "); print($CostOfLunch * $DaysBuyingLunch); print(" dollars this week.<BR>\n"); ?> </BODY> </HTML>

  23. ตัวอย่างที่ 5 intro-5.php <? echo '<pre>First Paragraph: Corporal Carrot, Ankh-Morpork City Guard (Night Watch), sat down in his nightshirt, took up his pencil, sucked the end for a moment, and then wrote:</pre>'; ?>

  24. First Paragraph: Corporal Carrot, Ankh-Morpork City Guard (Night Watch), sat down in his nightshirt, took up his pencil, sucked the end for a moment, and then wrote:

  25. Data Types • ชนิดของข้อมูลใน PHP มีดังต่อไปนี้ - Integer :ข้อมูลชนิดเลขจำนวนเต็ม เช่น 1, 10, 100, 123 เป็นต้น • floating-point numbers:ข้อมูลชนิดเลขทศนิยม เช่น 1.10, 1.2e-10 เป็นต้น • Single- quoted String:ข้อมูลตัวอักษรเขียนภายใต้เครื่องหมาย single quote • Double-quoted Stringคือ:ชุดข้อมูลตัวอักษรเขียนภายใต้เครื่องหมาย double quote คล้ายกับ single-quoted string แต่มีความซับซ้อนกว่าโดยเราสามารถใช้เครื่องหมาย \ เพื่อเพิ่ม escape sequence หรือ meta characters ในสตริงก์ • Back- quoted String:การใช้ back-quoted strings ใน PHP ไม่ใช่การกำหนดสตริงก์ แต่เป็นการเรียกใช้คำสั่งของระบบ (system command)

  26. ตัวอย่างที่ 6 intro-6.php <? echo '<pre>'; echo `ls *.php`; echo '</pre>'; ?>

  27. ตัวอย่าง <HTML> <HEAD> <TITLE>Figure 1–4</TITLE> </HEAD> <BODY> <FORM ACTION="1–5.php" METHOD="post"> Your Name: <INPUT TYPE="text" NAME="YourName"><BR> Cost of a Lunch: <INPUT TYPE="text" NAME="CostOfLunch"><BR> Days Buying Lunch: <INPUT TYPE="text" NAME="DaysBuyingLunch"><BR> <INPUT TYPE="submit"> </FORM> </BODY> </HTML>

  28. Arrays • มีอยู่ 2 ชนิด คือ แบบ indexed arrays และ แบบ associative arrays • มีทั้ง array แบบ 1 มิติ และ 2 มิติ • ตัวอย่าง indexed arrays 2 มิติ $a[0] = “A”; // แบบ 1 มิติ $a[0][1] = “A,A”; // แบบ 2 มิติ • ตัวอย่าง associative arrays $a[“time”] = “15.55”; $a[“date”][“time”] = “Wed , 15.55”;

  29. ตัวอย่าง 1-5.php3 <? $Today = date("l F d, Y"); ?> <HTML> <HEAD> <TITLE>Figure 1–5</TITLE> </HEAD> <BODY> Today’s Date:

  30. <? /* ** print today’s date */ print("<H3>$Today</H3>\n"); /* ** print message about lunch cost */ print("$YourName, you will be out "); print($CostOfLunch * $DaysBuyingLunch); print(" dollars this week.<BR>\n"); ?> </BODY> </HTML>

  31. <HTML> <HEAD> <TITLE>Figure 1–6</TITLE> </HEAD> <BODY> <H1> <? /* ** get today’s day of the week */ $Today = date("l"); if($Today == "Friday") { print("Thank Goodness It’s Friday!"); } else { print("Today is $Today."); } ?> </H1> </BODY> </HTML>

  32. <HTML> <HEAD> <TITLE>Example–7</TITLE> </HEAD> <BODY> <H1>Today’s Daily Affirmation</H1> Repeat three times:<BR> <? for($count = 1; $count <= 3; $count++) { print("<B>$count</B> I’m good enough, "); print("I’m smart enough, "); print("and, doggone it, people like me!<BR>\n"); } ?> </BODY> </HTML>

  33. Escaped characters \n  newline  \r  carriage  \t  horizontal tab  \\  backslash  \$  dollar sign  \"  double-quote \0nnn any octal byte \xnn any hexadecimal byte \\ backslash

  34. Variable • ไม่ต้องประกาศตัวแปรก่อนการใช้งาน • ไม่ต้องกำหนดชนิดของตัวแปรก่อนการใช้งาน • PHP จะมองจากการใส่ให้กับตัวแปรนั้น ๆ เช่น $X = ‘A12”; // ตัวแปร $X เป็นชนิด string $Y = “123”; // ตัวแปร $X เป็นชนิด string $Z = “ABC”; // ตัวแปร $X เป็นชนิด string $I = 123; // ตัวแปร $I เป็นชนิด integer $J = 1.23; // ตัวแปร $X เป็นชนิด floating-point (หากใช้ “ ” หรือ ‘ ’ กำหนดค่าให้กับตัวแปร PHP จะมองว่าตัวแปรเป็น string ทันที)

  35. Expressions • คือ การ assign ค่าจากทางขวามือมาทางซ้ายมือ ตัวอย่าง $b = ($a = 5) + 1; // ผลที่ได้ $a = 5 และ $b = 6 $b = $a = 5 + 1; // ผลที่ได้ $a และ $b = 6 • มี 2 ชนิดคือ pre-increment และ post-increment pre-increment คือ ++$x โดยที่ $x คือตัวแปรใด ๆ ในการทำงานจะทำการเพิ่มค่าก่อนที่จะ assign ค่าให้ตัวแปร เช่น $a = 5; $b = ++$a; // ผลที่ได้ $a และ $b = 6

  36. Expressions (ต่อ) post-increment คือ $x++ โดยที่ $x คือตัวแปรใด ๆ การทำงานจะ assign ค่าให้ตัวแปรก่อนแล้วจึงเพิ่มค่า เช่น $a = 5; $b = $a++; // ผลที่ได้ คือ $a = 6 และ $b = 5

  37. Expressions (ต่อ) • $first ? $second : $third หมายถึง ถ้า $first เป็นจริง (มีค่ามากกว่า 0) ให้ process $second ถ้า $first เป็นเท็จ (มีค่าเป็น 0) ให้ process $third ตัวอย่าง $a = 1; // กรณีเป็นจริง $b = 2; $c = 2; $a ? $b++ : $c++; // เมื่อ $a = 1 (เป็นจริง) เพิ่มค่า $b เมื่อผ่านการ process จะได้ค่าเป็น $a = 1; $b = 3; $c = 2; (เหมือนเดิม)

  38. Expressions (ต่อ) ตัวอย่าง $a = 0; // กรณีเป็นเท็จ $b = 2; $c = 2; $a ? $b++ : $c++; // เมื่อ $a = 0 (เป็นเท็จ) เพิ่มค่า $c เมื่อผ่านการ process จะได้ค่าเป็น $a = 0; $b = 2; (เหมือนเดิม) $c = 3;

  39. String Operation • PHP มี operator ที่เกี่ยวข้องกับ string 1 ตัวคือ "." • มีวิธีใช้งานดังนี้ ตัวอย่างที่ $a = "Hi ! ";$b=$a .= ”PHP";$b จะมีค่าเป็น Hi ! PHP

  40. Operator Precedence • PHP จะให้ความสำคัญกับลำดับในการดำเนินการของตัวดำเนินการไม่เท่ากัน • ตัวอย่าง 1+6*3 ผลลัพธ์เป็น 19 ไม่ใช่ 21 เพราะ PHP จะให้ความสำคัญกับตัวดำเนินการ * (การคูณ) มากกว่า + (การบวก)์ นั่นคือคูณก่อนแล้วจึงบวก

  41. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP IF • โครงสร้าง if (expr) statement; • การทำงาน PHP จะ execute statement เมื่อ expr เป็นจริง นอกจากนั้นหากต้องการให้ทำมากกว่า 1 statement ก็สามารถทำได้โดยใส่ { } คร่อม statements

  42. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP IF (ต่อ) • ตัวอย่าง if ($x != $y) print "$x is not equal to $y"; ถ้าค่าเริ่มต้นเป็น $x = 1 และ $y = 1 เมื่อ execute คำสั่งแล้วจะไม่มีการแสดงผลใด ๆ ทั้งนี้เพราะเงื่อนไขของ if เป็นเท็จแต่ถ้าหากว่าค่าเริ่มต้นเป็น $x = 10 และ $y = 2 จะได้ผลลัพธ์จากการ execute เป็น 10 is not equal to 2

  43. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP Else • โครงสร้าง if (expr) statement1; else statement2;

  44. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP Else (ต่อ) • โครงสร้าง if (expr) { statement1; statement2; } else{ statement3; statement4; }

  45. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP Else (ต่อ) • ตัวอย่าง if ($x > $y) { print "$x is greater than $y"; } else{ print "$x is not greater than $y"; }จะได้ว่า statement ของ else จะถูก execute ก็ต่อเมื่อเงื่อนไขของ if เป็นเท็จ นั่นคือ $x มีค่าน้อยกว่า หรือ เท่ากับ $y

  46. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP Elseif • โครงสร้าง if (expr1) { statement1; statement2; } elseif (expr2) { statement3; statement4; } else { statement5; }

  47. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP Elseif • การทำงาน • ตรวจสอบเงื่อนไข expr1 ก่อน ถ้าเป็นจริงจะทำ statement1,2 ออก • ถ้า expr1 เป็นเท็จ จึงจะตรวจสอบ expr2 ถ้าเป็นจริงก็จะทำ statement3,4 ถ้าเป็นเท็จก็จะหลุดไปทำ statement5 ของ else

  48. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP If () : … endif; • การใช้ code PHP ควบคุมการแสดง code HTML โดยใช้ IF • โครงสร้าง <?php if (expr): ?> HTML CODE <?php endif; ?> • การทำงาน - ตรวจสอบ expr ถ้าเป็นจริงจะแสดง HTML CODE - เป็นเท็จ ไม่แสดงอะไร

  49. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP If () : … endif; • การใช้ code PHP ควบคุมการแสดง code HTML โดยใช้ else และelseif • โครงสร้าง <?php if (expr1): ?> HTML CODE1 <?php elseif (expr2): ?> HTML CODE2 <?php else: ?> HTML CODE3 <?php endif; ?>

  50. Control Structures คำสั่งที่ใช้ในการควบคุมของ PHP While • โครงสร้าง while (expr)statement • การทำงาน while จะcheck เงื่อนไข expr ก่อนที่จะ process statement ที่อยู่ใน block ของ while

More Related