Introduction to PHP programming

2,728 views

Published on

สไลด์ประกอบการบรรยายในหัวข้อ "Introduction to PHP programming" สำหรับบุคคลทั่วไปของศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ ในหลักสูตร LAMP training

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,728
On SlideShare
0
From Embeds
0
Number of Embeds
99
Actions
Shares
0
Downloads
105
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to PHP programming

  1. 1. Web-based Applications by Open Source Tools 1
  2. 2. หัวขอการฝกอบรม • วันที่ 1: PHP Fundamentals • วันที่ 2: Linux System Administration • วันที่ 3: PHP & MySQL • วันที่ 4: Workshop 2
  3. 3. PHP Fundamental: กําหนดการสอน 9.00 น. – 10.30 น. • ความรูเบืองตนเกียวกับ PHP (Introduction to PHP)  ้ ่ • ชนิดของขอมูลและตัวแปร (Data type and variable) • การปฏิบติการใน PHP (Program operator) ั 10.45 น. – 12.15 น. • การทํางานตามเงือนไข (Conditional statement) ่ • การควบคุมการทํางาน (Flow control) 3
  4. 4. ความรูเบื้องตนเกี่ยวกับ PHP • ทําไมตองเขียนโปรแกรมบนเว็บ? • PHP คืออะไร? • ทําไมตอง PHP? • PHP จากอดีตถึงปจจุบัน • การประยุกตใช PHP บนอินเทอรเน็ต • การเตรียมตัวกอนเขียนโปรแกรม PHP • ขั้นตอนในการเขียนโปรแกรม PHP • โครงสรางของโปรแกรมภาษา PHP • เริ่มตนเขียน PHP 4
  5. 5. ทําไมตองเขียนโปรแกรมบนเว็บ? • แนวโนมของการนําเสนอขอมูลบนอินเทอรเน็ตมี ลักษณะ Interactive คือ มีกจกรรมทีทําใหผูเขา ิ ่ ชมมีสวนรวมกับเว็บไซตมากขึ้น เชน Guestbook, Message board, Forms, ฯลฯ • แนวโนมของการนําเสนอขอมูลบนอินเทอรเน็ตมี ลักษณะ Dynamic คือ มีการปรับปรุงขอมูลให ทันสมัยอยูเสมอโดยอัตโนมัติ • รวดเร็วและประหยัด 5
  6. 6. PHP คืออะไร? • PHP ยอมาจากคําวา PHP Hypertext Preprocessor (Professional Home Page) • PHP คือ ภาษาที่ใชในการเขียนโปรแกรมหรือใชในการ พัฒนา Applications เพื่อใชในระบบอินเทอรเน็ต • การทํางานของ PHP นั้นจะเปนการทํางานบนเครื่อง ใหบริการ (Server side) ที่ใชระบบปฏิบัติการ Windows หรือระบบปฏิบัติการ Unix • สามารถประยุกตใชงาน PHP ในงานประมวลผลที่มี ลักษณะที่หลากหลาย เชน งานที่เกี่ยวของกับการ คํานวณ งานที่เกี่ยวของกับการประมวลผลขอความ หรือ งานที่เกี่ยวของกับการบริหารจัดการและเขาถึงขอมูลใน ระบบฐานขอมูล 6
  7. 7. ทําไมตอง PHP? • งายตอการเรียนรูเนื่องจาก PHP ไดรับการ พัฒนาตอมาจากภาษา C และภาษา Perl • มีประสิทธิภาพสูง (เพียงพอตอการพัฒนา Applications บนอินเทอรเน็ต) • มีแหลงขอมูลใหศึกษา และพันธมิตรทีจะให ่ คําปรึกษาเวลาที่เกิดปญหา รวมทังมีตัวอยาง ้ และสคริปตสําเร็จรูปใหใชฟรีจํานวนมาก • เปนเครื่องมือทีสะดวกและสามารถพัฒนา ่ Applications บนอินเทอรเน็ตไดอยางรวดเร็ว 7
  8. 8. PHP จากอดีตถึงปจจุบัน (1) • ป ค.ศ. 1995 - นาย Rasmus Lerdorf ไดพัฒนา เครืองมือจากชุดคําสั่งในภาษา Perl สําหรับการ ่ ตรวจสอบผูชมทีเขาชมหนาประวัติโดยยอบนเว็บ ่ (online resume) บนเว็บและเผยแพรในชื่อ Personal Home Page tools 8 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)
  9. 9. PHP จากอดีตถึงปจจุบัน (2) • ตอมามีการพัฒนา PHP ใหมโดยใชภาษา C และเพิ่ม ความสามารถในเรื่องของการติดตอกับระบบฐานขอมูล การใชตวแปรที่มลกษณะคลายกับในภาษา Perl (Perl- ั ี ั like variables) และความสามารถเกี่ยวกับเรือง ่ แบบฟอรม และเผยแพรในชื่อ PHP/FI (Personal Home Page / Forms Interpreter) 9 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)
  10. 10. PHP จากอดีตถึงปจจุบัน (3) • พฤศจิกายน ค.ศ. 1997 - PHP/FI ไดรับการพัฒนา ตอและเผยแพรเปน PHP/FI 2.0 ซึ่งมีการประมาณการ วามีผูนําภาษานี้ไปใชหลายพันคนทั่วโลก และมีเว็บไซต ที่ใชภาษานี้ประมาณ 50,000 เว็บไซต 10 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)
  11. 11. PHP จากอดีตถึงปจจุบัน (4) • มิถุนายน ค.ศ. 1998 - นาย Andi Gutmans และนาย Zeev Suraski ไดทําการพัฒนาตอโดยเพิ่มฟงกชนใหมาก ั่ ขึ้นเพื่อรองรับการพัฒนาระบบงาน e-Commerce รวมทั้ง รองรับการติดตอกับระบบฐานขอมูล และคุณสมบัติในเรื่อง ของการโปรแกรมเชิงวัตถุ (Object Oriented Programming, OOP) และเผยแพรเปน PHP 3.0 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history) 11
  12. 12. PHP จากอดีตถึงปจจุบัน (5) • พฤษภาคม ค.ศ. 2000 - PHP ไดรับการพัฒนาตอ เพื่อใหสามารถรองรับการพัฒนาโปรแกรมทีซับซอน ่ โดยรวมเอาเทคโนโลยีทเรียกวา “Zend Engine” ไว ี่ และพัฒนาความสามารถในการทํางานบนโปรแกรม Web server ที่หลากหลายชนิดมากขึ้น และเผยแพร เปน PHP version 4.0 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history) 12
  13. 13. PHP จากอดีตถึงปจจุบัน (6) • กรกฎาคม ค.ศ. 2004 ไดมีการรวมเอา Zend Engine version 2.0 เขาไวใน PHP และเผยแพรเปน PHP version 5.0 ในปจจุบนั Data from Appendix A. History of PHP and related projects (http://th2.php.net/history) 13
  14. 14. PHP จากอดีตถึงปจจุบัน (7) PHP: 21,466,638 Domains, 1,293,874 IP Addresses Data from Netcraft (http://news.netcraft.com/) 14
  15. 15. PHP จากอดีตถึงปจจุบัน (8) Apache Module Report (July 1st, 2005) Module Count % PHP 5,082,557 46.46 Perl 1,335,652 12.21 Tomcat 5,578 0.05 Data from Security Space (http://www.securityspace.com/s_survey/data/man.200506/apachemods.html/) 15
  16. 16. การประยุกตใช PHP บนอินเทอรเน็ต (1) http://www.missingpersons.or.th/ 16
  17. 17. การประยุกตใช PHP บนอินเทอรเน็ต (2) http://www.nectec.or.th/e-Card/ 17
  18. 18. การประยุกตใช PHP บนอินเทอรเน็ต (3) http://www.truehits.net/ 18
  19. 19. การประยุกตใช PHP บนอินเทอรเน็ต (4) http://www.nesac.or.th/ 19
  20. 20. Web-based Application Architecture 20
  21. 21. การเตรียมตัวกอนเขียนโปรแกรม PHP • ในการเขียนโปรแกรมดวย PHP จะตองเตรียม สวนประกอบดังตอไปนี้ คือ เครืองคอมพิวเตอรสาหรับการเขียนโปรแกรมที่มการ ่ ํ ี ติดตั้งโปรแกรมประมวลผลขอความ (Text editor) โปรแกรมสําหรับโอนยายขอมูลเขาสูเครื่องใหบริการ (FTP program) และโปรแกรมเว็บบราวเซอร (Web browser) เครืองคอมพิวเตอรใหบริการเว็บ (Web server) ที่ ่ สนับสนุนการเขียนโปรแกรมดวยภาษา php 21
  22. 22. ขั้นตอนในการเขียนโปรแกรม PHP 22
  23. 23. โครงสรางของโปรแกรมภาษา PHP (1) • การเขียนโปรแกรมภาษา PHP จะตองมี สวนประกอบดังตอไปนี้ 23
  24. 24. โครงสรางของโปรแกรมภาษา PHP (2) • จุดเริ่มตนและสิ้นสุดของการเขียนโปรแกรมภาษา PHP สามารถใชสัญลักษณได 4 รูปแบบ คือ 1. SGML style*** <? ... ?> 2. XML style <?php ... ?> 3. JavaScript style <script language="php"> ... </script> 4. ASP style <% ... %> 24
  25. 25. โครงสรางของโปรแกรมภาษา PHP (3) • ชุดคําสั่งในภาษา PHP ประกอบดวยคําสั่งยอยๆ ซึ่งแตละคําสั่งจะตองสิ้นสุดดวยเครื่องหมาย เซมิโคลอน (;) 25
  26. 26. โครงสรางของโปรแกรมภาษา PHP (4) • การกําหนดสวนทีเปนคอมเมนต หรือสวนคําอธิบายที่ไม ่ ตองการใหเกิดการประมวลผลสามารถทําได 2 วิธี คือ 1. การกําหนดสวนคอมเมนตหลายๆ บรรทัดติดตอกัน /* คอมเมนตบรรทัดที่ 1 คอมเมนตบรรทัดที่ 2 . . คอมเมนตบรรทัดที่ N */ 2. การกําหนดสวนคอมเมนตบรรทัดเดียว ใชรูปแบบ // คอมเมนต หรือ #คอมเมนต 26
  27. 27. เริ่มตนเขียน PHP (1) • เปดโปรแกรม Notepad โดยคลิกเมาสท่ปุม Start ๊ ี เลือก All Programs เลือก Accessories แลวเลือก รายการ Notepad • พิมพขอความตอไปนี้และบันทึกเปนไฟลชื่อ hello1.php <? echo “Hello World”; ?> • ใชโปรแกรม FTP ในการโอนยายไฟลเขาสู Server • ทดสอบการแสดงผลโดยใชโปรแกรม Web browser 27
  28. 28. เริ่มตนเขียน PHP (2) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello1.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello2.php <? echo “Hello World”; // This is my first PHP program ?> 28
  29. 29. เริ่มตนเขียน PHP (3) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello2.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello3.php <HTML> <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “Hello World”; ?> </b></center> </BODY> </HTML> 29
  30. 30. เริ่มตนเขียน PHP (4) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello3.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello4.php <HTML> <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “<font color=red>Hello World</font>”; ?> </b></center> </BODY> </HTML> 30
  31. 31. เริ่มตนเขียน PHP (5) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello4.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello5.php <HTML> <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “<font color=“#00FF00”>Hello World</font>”; ?> </b></center> </BODY> </HTML> 31
  32. 32. ชนิดของขอมูลและตัวแปร • คาคงที่ • ตัวอยางการใชงานคาคงที่ • ตัวแปรใน PHP • ตัวอยางการใชงานตัวแปรใน PHP • ตัวแปรระบบ • ชนิดของขอมูลใน PHP 32
  33. 33. คาคงที่ • คาคงที่ (Constant) คือ การกําหนดคาแทนตัวเลขหรือ ชุดของตัวอักษร ซึ่งการกําหนดคาคงที่จะใชรูปแบบ define(“ชื่อคาคงที่”, คาที่กําหนดให) • ตัวอยางเชน – define(“organization”, “NECTEC”); – define(“RED”, “#FF0000”); – define(“PI”, 3.14); – define(“NL”, “<br>n”); 33
  34. 34. ตัวอยางการใชงานคาคงที่ <HTML> constant.php <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? define(“organization”, “NECTEC”); echo “Organization:” . organization; ?> </b></center> </BODY> </HTML> 34
  35. 35. ตัวแปรใน PHP • ตัวแปรใน PHP จะมีรูปแบบเปน $ชื่อตัวแปร • ตัวอักษรพิมพใหญหรือเล็กมีผลกับชื่อตัวแปร (Case-sensitive) เชน $Data ไมเทากับ $data • การตั้งชื่อตัวแปรจะตองขึ้นตนดวยตัวอักษร ภาษาอังกฤษหรือเครื่องหมาย Underscore (_) ตามดวยตัวเลข ตัวอักษร หรือ Underscore 35
  36. 36. ตัวอยางการใชงานตัวแปรใน PHP <HTML> variable1.php <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? $person = “Jon”; $Person = “Dang”; echo “Hello $person and $Person”; ?> </b></center> </BODY> </HTML> 36
  37. 37. ตัวแปรระบบ • ในการเขียนโปรแกรม PHP นั้น เราสามารถ เรียกใชงานตัวแปรของระบบที่มอยูได ดังตัวอยาง ี <HTML> variable2.php <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “You are using $HTTP_USER_AGENT”; ?> </b></center> </BODY> </HTML> 37
  38. 38. การรับคาจากแบบฟอรม • โดยทั่วไปแลว การเขียน โปรแกรมภาษา PHP ใช ใ น ก า ร รั บ ข อ มู ล จ า ก แบบฟอร ม ที่ ส ร า งขึ้ น มา ด ว ย ภ า ษ า HTML เ พื่ อ นํ า ม า ป ร ะ ม ว ล ผ ล แ ล ะ สงผลลัพธกลับไปสูผใช ู 38
  39. 39. ขั้นตอนการรับคาจากแบบฟอรม 39
  40. 40. สวนประกอบของการรับคาจากแบบฟอรม 1. แบบฟอรมสําหรับกรอกขอมูล (form.html) ทําหนาที่ในการรับขอมูลจากผูใชผานทาง โปรแกรมเว็บบราวเซอร 2. สคริปตรับคาและประมวลผล (getform.php) ทําหนาที่ในการรับขอมูลที่สงจากแบบฟอรม และนําขอมูลนั้นไปประมวลผลตามคําสั่งที่ กําหนดไว และสงผลลัพธกลับมาที่บราวเซอร ของผูใช 40
  41. 41. ตัวอยางรับคาจากแบบฟอรม <HTML> form.html <HEAD> <title>FORM</title> </HEAD> <BODY> <form method="post" action="getform.php"> Name: <input type="text" name="myname"> <input type="submit" value="Send data"> </form> </BODY> <HTML> 41
  42. 42. ตัวอยางรับคาจากแบบฟอรม <? getform.php $name = $_POST["myname"]; echo "Hello $name"; ?> 42
  43. 43. ชนิดของขอมูลใน PHP • ชนิดของขอมูลในภาษา PHP แบงออกเปน 7 ประเภท ดังตอไปนี้ – ขอมูลชนิดตรรกะ – ขอมูลชนิดตัวเลข – ขอมูลชนิดตัวอักษร – ขอมูลชนิดอาเรย – ขอมูลชนิดออปเจกต – ขอมูลชนิด Null – ขอมูลชนิด Resource 43
  44. 44. ชนิดของขอมูลใน PHP • ขอมูลชนิดตรรกะ (Boolean) คือ ชนิดของขอมูล ที่มีเปนคาเปนไปไดแค 2 คาเทานั้น คือ true (จริง) หรือ false (เท็จ) ซึ่งขอมูลชนิดนี้นยมใช ิ ในลักษณะของการกําหนดเงื่อนไขของการทํางาน ในโปรแกรม • ขอมูลชนิดตัวเลข (Numeric) คือ ชนิดของขอมูล ที่เปนตัวเลข สามารถนําไปคํานวณทาง คณิตศาสตรได ขอมูลชนิดนี้สามารถแบงไดเปน – ตัวเลขจํานวนเต็ม (Integer) เชน 5, 0, -20 – ตัวเลขจํานวนจริง (Floating Point & Real Number) เชน 2.5, -0.025, 1.0 44
  45. 45. ชนิดของขอมูลใน PHP • ขอมูลชนิดตัวอักษร (String) คือ ชนิดของขอมูลที่ ประกอบดวยตัวเลข ตัวอักษร และอักขระพิเศษตางๆ ที่ไมสามารถนําไปคํานวณได ซึ่งการอางถึงขอมูล ชนิดตัวอักษรนี้จะตองอางถึงขอมูลภายใต เครื่องหมาย “…” • ขอมูลชนิดอาเรย (Array) เปนชนิดของขอมูลที่ สามารถเก็บคาไดหลายคา ซึ่งขอมูลชนิดนี้เปนที่ นิยมใชงานกันอยางแพรหลาย และมีใชในทุกภาษา เขียนโปรแกรม 45
  46. 46. ชนิดของขอมูลใน PHP • ขอมูลชนิดออบเจ็ค (Object) ขอมูลชนิดนี้ใชในการ เขียนโปรแกรมเชิงวัตถุ (Object-oriented Programming, OOP) • ขอมูลชนิด NULL คือ ชนิดของขอมูลที่แทน ความหมายวาไมมคา ี • ขอมูลชนิด Resource คือ ชนิดของขอมูลที่ใชเก็บ คาอางอิงของทรัพยากรตางๆ ในระบบ ซึ่งจะมีการ เก็บคาโดยอัตโนมัติ 46
  47. 47. การปฏิบัติการใน PHP Arithmetic Operators 47
  48. 48. การปฏิบัติการใน PHP Assignment Operators 48
  49. 49. การปฏิบัติการใน PHP Comparison Operators 49
  50. 50. การปฏิบัติการใน PHP Logical Operators 50
  51. 51. การทํางานตามเงื่อนไข • การใชงานประโยค if • ตัวอยางการใชงานประโยค if • การใชงานประโยค switch 51
  52. 52. การใชงานประโยค if if (เงื่อนไข 1) { ชุดคําสั่ง 1 } elseif (เงื่อนไข 2) { ชุดคําสั่ง 2 } else { ชุดคําสั่ง 3 } 52
  53. 53. ตัวอยางการใชงานประโยค if if ($i == 1) if.php { echo “i = 1”; } elseif ($i == 2) { echo “i = 2”; } else { echo “no match”; } 53
  54. 54. การใชงานประโยค switch switch (ตัวแปร) { case คาตัวแปร 1: ชุดคําสั่ง 1 case คาตัวแปร 2: ชุดคําสั่ง 2 case คาตัวแปร 3: ชุดคําสั่ง 3 default: ชุดคําสั่ง 4 } 54
  55. 55. ตัวอยางการใชงานประโยค switch switch ($i) switch.php { case 1: echo “i = 1”; break; case 2: echo “i = 2”; break; default: echo “no match”; break; } 55
  56. 56. การควบคุมการทํางาน • การควบคุมการทํางานดวย while • การควบคุมการทํางานดวย do…while • การควบคุมการทํางานดวย for • การควบคุมการทํางานดวย foreach 56
  57. 57. การควบคุมการทํางานดวย while While (เงือนไข) ่ { ชุดคําสั่ง } 57
  58. 58. ตัวอยางการใชงานคําสั่ง while $i = 0; while.php while ($i < 10) { echo “i = “.$i.”<br>”; $i++; } 58
  59. 59. การควบคุมการทํางานดวย do…while do { ชุดคําสั่ง } While (เงือนไข) ่ 59
  60. 60. ตัวอยางการใชงานคําสั่ง do…while $i = 0; dowhile.php do { echo “i = “.$i.”<br>”; $i++; } while ($i < 10) 60
  61. 61. การควบคุมการทํางานดวย for for (คาเริ่มตน, เงือนไข, การเพิมหรือลดขอมูล) ่ ่ { ชุดคําสั่ง } 61
  62. 62. ตัวอยางการใชงานคําสั่ง for for.php for ($i=0; $i<10; $i++) { echo “i = “.$i.”<br>”; } 62
  63. 63. การควบคุมการทํางานดวย foreach foreach (ตัวแปรชนิดอาเรย as ชื่อตัวแปร) { ชุดคําสั่ง } 63
  64. 64. ตัวอยางการใชงานคําสั่ง foreach foreach.php $arr = array(“orange", “mango", “banana"); foreach ($arr as $fruit) { echo “Fruit name: " . $fruit . "<br>"; } 64
  65. 65. สรุป (1) • PHP (PHP Hypertext Preprocessor หรือProfessional Home Page) คือ ภาษาที่ใชในการเขียนโปรแกรมหรือ พัฒนาระบบงานบนระบบอินเทอรเน็ต โดยมีการทํางาน ในลักษณะ Server side สามารถใชงานไดบนเครื่อง ใหบริการที่มระบบปฏิบติการ Windows หรือ Unix ี ั • เครืองมือที่ใชในการพัฒนาโปรแกรมภาษา PHP คือ ่ โปรแกรมแกไขขอความ, เว็บบราวเซอร, FTP/SFTP program, เครื่องใหบริการเว็บ • ขั้นตอนในการเขียนโปรแกรมภาษา PHP คือ เขียน โปรแกรมโดยใชโปรแกรมแกไขขอความ อัปโหลด เขาสูเครืองใหบริการ ่ ทดสอบและแกไข 65
  66. 66. สรุป (2) • โครงสรางของการเขียนภาษา PHP <? ชุดคําสั่งในภาษา PHP; ?> • การเขียนคอมเมนตในภาษา PHP สามารถทําไดโดยใช <*…*>, //, # • ชนิดของขอมูลในภาษา PHP แบงออกเปน 7 ประเภท คือ ขอมูลชนิดตรรกะ, ขอมูลชนิดตัวเลข, ขอมูลชนิด ตัวอักษร, ขอมูลชนิดอาเรย, ขอมูลชนิดออปเจกต, ขอมูลชนิด Null, ขอมูลชนิด Resource 66
  67. 67. สรุป (3) • ประโยคเงื่อนไขใน PHP – IF…ELSE… – CASE • ประโยคควบคุมการทํางาน – WHILE – DO…WHILE – FOR – FOREACH 67
  68. 68. 68

×