Introduction to PHP programming

Post on 12-Nov-2014

2,874 views 3 download

Tags:

description

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

transcript

1

Web-based Applicationsby

Open Source Tools

2

หัวขอการฝกอบรม• วันที่ 1:

PHP Fundamentals• วันที่ 2:

Linux System Administration• วันที่ 3:

PHP & MySQL• วันที่ 4:

Workshop

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)

4

ความรูเบื้องตนเกี่ยวกับ PHP• ทําไมตองเขียนโปรแกรมบนเว็บ?• PHP คืออะไร?• ทําไมตอง PHP?• PHP จากอดีตถึงปจจุบัน• การประยุกตใช PHP บนอินเทอรเน็ต• การเตรียมตัวกอนเขียนโปรแกรม PHP• ขั้นตอนในการเขียนโปรแกรม PHP• โครงสรางของโปรแกรมภาษา PHP• เริ่มตนเขียน PHP

5

ทําไมตองเขียนโปรแกรมบนเว็บ?

• แนวโนมของการนําเสนอขอมูลบนอินเทอรเน็ตมีลกัษณะ Interactive คือ มกีิจกรรมที่ทําใหผูเขาชมมีสวนรวมกบัเว็บไซตมากขึ้น เชน Guestbook, Message board, Forms, ฯลฯ

• แนวโนมของการนําเสนอขอมูลบนอินเทอรเน็ตมีลกัษณะ Dynamic คือ มกีารปรับปรุงขอมูลใหทันสมัยอยูเสมอโดยอัตโนมตัิ

• รวดเร็วและประหยัด

6

PHP คืออะไร?• PHP ยอมาจากคําวา PHP Hypertext Preprocessor

(Professional Home Page)• PHP คือ ภาษาที่ใชในการเขียนโปรแกรมหรือใชในการพัฒนา Applications เพื่อใชในระบบอินเทอรเน็ต

• การทํางานของ PHP นั้นจะเปนการทํางานบนเครื่องใหบริการ (Server side) ที่ใชระบบปฏิบัติการ Windows หรือระบบปฏิบัติการ Unix

• สามารถประยุกตใชงาน PHP ในงานประมวลผลที่มีลักษณะที่หลากหลาย เชน งานที่เกี่ยวของกับการคํานวณ งานที่เกี่ยวของกับการประมวลผลขอความ หรืองานที่เกี่ยวของกับการบริหารจัดการและเขาถึงขอมลูในระบบฐานขอมลู

7

ทําไมตอง PHP?• งายตอการเรียนรูเนื่องจาก PHP ไดรับการพัฒนาตอมาจากภาษา C และภาษา Perl

• มีประสิทธภิาพสูง (เพียงพอตอการพัฒนา Applications บนอินเทอรเน็ต)

• มีแหลงขอมูลใหศึกษา และพันธมิตรทีจ่ะใหคําปรึกษาเวลาที่เกดิปญหา รวมทัง้มีตัวอยางและสคริปตสําเร็จรูปใหใชฟรีจํานวนมาก

• เปนเครื่องมอืทีส่ะดวกและสามารถพัฒนา Applications บนอินเทอรเน็ตไดอยางรวดเร็ว

8

PHP จากอดีตถึงปจจุบัน (1)

• ป ค.ศ. 1995 - นาย Rasmus Lerdorf ไดพัฒนาเครือ่งมอืจากชุดคําสั่งในภาษา Perl สําหรับการตรวจสอบผูชมทีเ่ขาชมหนาประวัติโดยยอบนเว็บ (online resume) บนเว็บและเผยแพรในชื่อ Personal Home Page tools

Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)

9

PHP จากอดีตถึงปจจุบัน (2)

• ตอมามีการพัฒนา PHP ใหมโดยใชภาษา C และเพิ่มความสามารถในเรื่องของการติดตอกบัระบบฐานขอมูล การใชตัวแปรที่มลีกัษณะคลายกับในภาษา Perl (Perl-like variables) และความสามารถเกี่ยวกับเรือ่งแบบฟอรม และเผยแพรในชื่อ PHP/FI (Personal Home Page / Forms Interpreter)

Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)

10

PHP จากอดีตถึงปจจุบัน (3)

• พฤศจิกายน ค.ศ. 1997 - PHP/FI ไดรับการพัฒนาตอและเผยแพรเปน PHP/FI 2.0 ซึ่งมกีารประมาณการวามีผูนําภาษานี้ไปใชหลายพันคนทั่วโลก และมเีว็บไซตที่ใชภาษานี้ประมาณ 50,000 เว็บไซต

Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)

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)

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)

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)

14

PHP จากอดีตถึงปจจุบัน (7)

Data from Netcraft (http://news.netcraft.com/)

PHP: 21,466,638 Domains, 1,293,874 IP Addresses

15

PHP จากอดีตถึงปจจุบัน (8)

Data from Security Space(http://www.securityspace.com/s_survey/data/man.200506/apachemods.html/)

Module Count %

PHP 5,082,557 46.46

Perl 1,335,652 12.21

Tomcat 5,578 0.05

Apache Module Report (July 1st, 2005)

16

การประยุกตใช PHP บนอินเทอรเน็ต (1)

http://www.missingpersons.or.th/

17

การประยุกตใช PHP บนอินเทอรเน็ต (2)

http://www.nectec.or.th/e-Card/

18

การประยุกตใช PHP บนอินเทอรเน็ต (3)

http://www.truehits.net/

19

การประยุกตใช PHP บนอินเทอรเน็ต (4)

http://www.nesac.or.th/

20

Web-based Application Architecture

21

การเตรียมตัวกอนเขียนโปรแกรม PHP

• ในการเขียนโปรแกรมดวย PHP จะตองเตรียมสวนประกอบดังตอไปนี้ คือเครือ่งคอมพิวเตอรสําหรับการเขียนโปรแกรมที่มกีารติดตั้งโปรแกรมประมวลผลขอความ (Text editor) โปรแกรมสําหรับโอนยายขอมลูเขาสูเครื่องใหบรกิาร (FTP program) และโปรแกรมเว็บบราวเซอร (Web browser)เครือ่งคอมพิวเตอรใหบริการเว็บ (Web server) ที่สนับสนุนการเขียนโปรแกรมดวยภาษา php

22

ขั้นตอนในการเขียนโปรแกรม PHP

23

โครงสรางของโปรแกรมภาษา PHP (1)• การเขียนโปรแกรมภาษา PHP จะตองมีสวนประกอบดังตอไปนี้

24

โครงสรางของโปรแกรมภาษา PHP (2)• จุดเริ่มตนและสิ้นสุดของการเขียนโปรแกรมภาษา

PHP สามารถใชสัญลกัษณได 4 รูปแบบ คือ1. SGML style***

<? ... ?>

2. XML style<?php ... ?>

3. JavaScript style<script language="php"> ... </script>

4. ASP style<% ... %>

25

โครงสรางของโปรแกรมภาษา PHP (3)• ชุดคําสั่งในภาษา PHP ประกอบดวยคําสั่งยอยๆ ซึ่งแตละคําสั่งจะตองสิ้นสดุดวยเครื่องหมาย เซมิโคลอน (;)

26

โครงสรางของโปรแกรมภาษา PHP (4)• การกําหนดสวนที่เปนคอมเมนต หรือสวนคําอธิบายที่ไมตองการใหเกิดการประมวลผลสามารถทําได 2 วิธี คือ

1. การกําหนดสวนคอมเมนตหลายๆ บรรทัดติดตอกัน

/* คอมเมนตบรรทัดที่ 1คอมเมนตบรรทัดที่ 2

.

. คอมเมนตบรรทัดที่ N */

2. การกําหนดสวนคอมเมนตบรรทัดเดียว ใชรูปแบบ

// คอมเมนต หรือ #คอมเมนต

27

เริ่มตนเขียน PHP (1)• เปดโปรแกรม Notepad โดยคลิ๊กเมาสที่ปุม Start เลือก All Programs เลือก Accessories แลวเลือกรายการ Notepad

• พมิพขอความตอไปนี้และบันทึกเปนไฟลชื่อ hello1.php

• ใชโปรแกรม FTP ในการโอนยายไฟลเขาสู Server• ทดสอบการแสดงผลโดยใชโปรแกรม Web

browser

<?echo “Hello World”;?>

28

เริ่มตนเขียน PHP (2)• ใชโปรแกรม Notepad เพื่อแกไขไฟล hello1.php• พมิพขอความตอไปนี้และบันทึกในไฟล

hello2.php

<?echo “Hello World”; // This is my first PHP program?>

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>

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>

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>

32

ชนิดของขอมูลและตัวแปร

• คาคงที่• ตัวอยางการใชงานคาคงที่• ตัวแปรใน PHP• ตัวอยางการใชงานตัวแปรใน PHP• ตัวแปรระบบ• ชนิดของขอมูลใน PHP

33

คาคงที่

• คาคงที่ (Constant) คือ การกําหนดคาแทนตัวเลขหรือชุดของตัวอักษร ซึ่งการกําหนดคาคงที่จะใชรูปแบบ

• ตัวอยางเชน– define(“organization”, “NECTEC”);– define(“RED”, “#FF0000”);– define(“PI”, 3.14);– define(“NL”, “<br>\n”);

define(“ชื่อคาคงที่”, คาที่กําหนดให)

34

ตัวอยางการใชงานคาคงที่<HTML><HEAD><title>Hello World</title></HEAD><BODY><center><b><?define(“organization”, “NECTEC”);echo “Organization:” . organization;?></b></center></BODY></HTML>

constant.php

35

ตัวแปรใน PHP

• ตัวแปรใน PHP จะมีรูปแบบเปน$ชื่อตัวแปร

• ตัวอักษรพิมพใหญหรือเล็กมีผลกบัชื่อตัวแปร (Case-sensitive) เชน $Data ไมเทากบั $data

• การตั้งชื่อตัวแปรจะตองขึ้นตนดวยตัวอักษรภาษาอังกฤษหรือเครื่องหมาย Underscore (_) ตามดวยตัวเลข ตัวอักษร หรือ Underscore

36

ตัวอยางการใชงานตัวแปรใน PHP<HTML><HEAD><title>Hello World</title></HEAD><BODY><center><b><?$person = “Jon”;$Person = “Dang”;echo “Hello $person and $Person”;?></b></center></BODY></HTML>

variable1.php

37

ตัวแปรระบบ• ในการเขียนโปรแกรม PHP นั้น เราสามารถเรียกใชงานตัวแปรของระบบที่มอียูได ดังตัวอยาง

<HTML><HEAD><title>Hello World</title></HEAD><BODY><center><b><?echo “You are using $HTTP_USER_AGENT”;?></b></center></BODY></HTML>

variable2.php

38

การรับคาจากแบบฟอรม

• โดยทั่วไปแลว การเขียนโปรแกรมภาษา PHP ใชใ นก า ร รั บข อ มู ล จ ากแบบฟอรมที่สรางขึ้นมาดวยภาษา HTML เพื่ อนํ ามาประมวลผลและสงผลลัพธกลับไปสูผูใช

39

ขั้นตอนการรับคาจากแบบฟอรม

40

สวนประกอบของการรับคาจากแบบฟอรม

1. แบบฟอรมสําหรับกรอกขอมูล (form.html)ทําหนาที่ในการรับขอมูลจากผูใชผานทางโปรแกรมเว็บบราวเซอร

2. สคริปตรับคาและประมวลผล (getform.php)ทําหนาที่ในการรับขอมูลที่สงจากแบบฟอรม และนําขอมูลนั้นไปประมวลผลตามคําสั่งที่กําหนดไว และสงผลลัพธกลบัมาที่บราวเซอรของผูใช

41

ตัวอยางรับคาจากแบบฟอรม<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>

form.html

42

ตัวอยางรับคาจากแบบฟอรม

<?

$name = $_POST["myname"];echo "Hello $name";

?>

getform.php

43

ชนิดของขอมูลใน PHP

• ชนิดของขอมูลในภาษา PHP แบงออกเปน 7 ประเภท ดังตอไปนี้– ขอมูลชนดิตรรกะ– ขอมูลชนดิตัวเลข– ขอมูลชนดิตัวอักษร– ขอมูลชนดิอาเรย– ขอมูลชนดิออปเจกต– ขอมูลชนดิ Null– ขอมูลชนดิ Resource

44

ชนิดของขอมูลใน PHP• ขอมูลชนิดตรรกะ (Boolean) คือ ชนิดของขอมูล ที่มีเปนคาเปนไปไดแค 2 คาเทานั้น คือ true(จริง) หรือ false (เท็จ) ซึ่งขอมูลชนิดนี้นิยมใชในลักษณะของการกําหนดเงื่อนไขของการทํางานในโปรแกรม

• ขอมูลชนิดตัวเลข (Numeric) คือ ชนิดของขอมูลที่เปนตัวเลข สามารถนําไปคํานวณทางคณิตศาสตรได ขอมูลชนิดนี้สามารถแบงไดเปน– ตัวเลขจํานวนเต็ม (Integer) เชน 5, 0, -20– ตัวเลขจํานวนจริง (Floating Point & Real

Number) เชน 2.5, -0.025, 1.0

45

ชนิดของขอมูลใน PHP

• ขอมูลชนิดตัวอักษร (String) คือ ชนิดของขอมูลที่ประกอบดวยตัวเลข ตัวอักษร และอักขระพิเศษตางๆ ที่ไมสามารถนําไปคํานวณได ซึ่งการอางถึงขอมูลชนิดตัวอักษรนี้จะตองอางถงึขอมูลภายใตเครื่องหมาย “…”

• ขอมูลชนิดอาเรย (Array) เปนชนิดของขอมูลที่สามารถเก็บคาไดหลายคา ซึ่งขอมูลชนิดนี้เปนที่นิยมใชงานกันอยางแพรหลาย และมีใชในทุกภาษาเขียนโปรแกรม

46

ชนิดของขอมูลใน PHP

• ขอมูลชนิดออบเจ็ค (Object) ขอมูลชนิดนี้ใชในการเขียนโปรแกรมเชิงวัตถุ (Object-oriented Programming, OOP)

• ขอมูลชนิด NULL คือ ชนิดของขอมูลที่แทนความหมายวาไมมคีา

• ขอมูลชนิด Resource คือ ชนิดของขอมูลที่ใชเก็บคาอางอิงของทรัพยากรตางๆ ในระบบ ซึ่งจะมีการเก็บคาโดยอัตโนมัติ

47

การปฏิบัติการใน PHPArithmetic Operators

48

การปฏิบัติการใน PHPAssignment Operators

49

การปฏิบัติการใน PHPComparison Operators

50

การปฏิบัติการใน PHPLogical Operators

51

การทํางานตามเงื่อนไข

• การใชงานประโยค if• ตัวอยางการใชงานประโยค if• การใชงานประโยค switch

52

การใชงานประโยค if

if (เงื่อนไข 1){

ชุดคําสั่ง 1} elseif (เงื่อนไข 2){

ชุดคําสั่ง 2} else{

ชุดคําสั่ง 3}

53

ตัวอยางการใชงานประโยค if

if ($i == 1){

echo “i = 1”;} elseif ($i == 2){echo “i = 2”;

} else{echo “no match”;

}

if.php

54

การใชงานประโยค switch

switch (ตัวแปร){

case คาตัวแปร 1:ชุดคําสั่ง 1

case คาตัวแปร 2:ชุดคําสั่ง 2

case คาตัวแปร 3:ชุดคําสั่ง 3

default:ชุดคําสั่ง 4

}

55

ตัวอยางการใชงานประโยค switchswitch ($i){

case 1:echo “i = 1”;break;

case 2:echo “i = 2”;break;

default:echo “no match”;break;

}

switch.php

56

การควบคุมการทํางาน

• การควบคุมการทํางานดวย while• การควบคุมการทํางานดวย do…while• การควบคุมการทํางานดวย for• การควบคุมการทํางานดวย foreach

57

การควบคุมการทํางานดวย while

While (เงือ่นไข){

ชุดคําสั่ง}

58

ตัวอยางการใชงานคําสั่ง while

$i = 0;while ($i < 10){

echo “i = “.$i.”<br>”;$i++;

}

while.php

59

การควบคุมการทํางานดวย do…while

do{

ชุดคําสั่ง} While (เงือ่นไข)

60

ตัวอยางการใชงานคําสั่ง do…while

$i = 0;do{

echo “i = “.$i.”<br>”;$i++;

} while ($i < 10)

dowhile.php

61

การควบคุมการทํางานดวย for

for (คาเริ่มตน, เงือ่นไข, การเพิ่มหรอืลดขอมูล){

ชุดคําสั่ง}

62

ตัวอยางการใชงานคําสั่ง for

for ($i=0; $i<10; $i++){

echo “i = “.$i.”<br>”;}

for.php

63

การควบคุมการทํางานดวย foreach

foreach (ตัวแปรชนิดอาเรย as ชื่อตัวแปร){

ชุดคําสั่ง}

64

ตัวอยางการใชงานคําสั่ง foreach

$arr = array(“orange", “mango", “banana");foreach ($arr as $fruit){

echo “Fruit name: " . $fruit . "<br>";}

foreach.php

65

สรุป (1)• PHP (PHP Hypertext Preprocessor หรอืProfessional

Home Page) คือ ภาษาที่ใชในการเขียนโปรแกรมหรือพัฒนาระบบงานบนระบบอินเทอรเน็ต โดยมีการทํางานในลักษณะ Server side สามารถใชงานไดบนเครื่องใหบริการที่มรีะบบปฏิบตัิการ Windows หรือ Unix

• เครือ่งมอืที่ใชในการพัฒนาโปรแกรมภาษา PHP คือ โปรแกรมแกไขขอความ, เว็บบราวเซอร, FTP/SFTP program, เครื่องใหบรกิารเว็บ

• ขั้นตอนในการเขียนโปรแกรมภาษา PHP คือ เขียนโปรแกรมโดยใชโปรแกรมแกไขขอความ อปัโหลดเขาสูเครือ่งใหบรกิาร ทดสอบและแกไข

66

สรุป (2)• โครงสรางของการเขียนภาษา PHP

<?ชุดคําสั่งในภาษา PHP;

?>• การเขียนคอมเมนตในภาษา PHP สามารถทําไดโดยใช

<*…*>, //, #• ชนิดของขอมลูในภาษา PHP แบงออกเปน 7 ประเภท คือ ขอมลูชนิดตรรกะ, ขอมูลชนิดตัวเลข, ขอมูลชนิดตัวอักษร, ขอมูลชนิดอาเรย, ขอมูลชนิดออปเจกต, ขอมลูชนิด Null, ขอมลูชนิด Resource

67

สรุป (3)• ประโยคเงื่อนไขใน PHP

– IF…ELSE…– CASE

• ประโยคควบคุมการทํางาน– WHILE– DO…WHILE– FOR– FOREACH

68