Transcript Document

1
• เพื่อทราบหลักการทางานของ Web Server และติดตั้งได้
• เพื่อทราบหลักการทางานของภาษา PHP
2
• บรรยายโดยผู้สอนและใช้ เอกสารประกอบการสอนของ
ผู้สอน
• สอนโดยใช้ ส่ือคอมพิวเตอร์ ผ่านเครื่ องฉาย
• อภิปรายในชั้นเรี ยนร่ วมกัน
่ เติมจากตาราและเอกสารทีเ่ กี่ยวข้ อง
• ให้ นิสิตค้ นคว้ าเพิม
• ทาแบบฝึ กหัดท้ ายบท
3
• ประเมินผลจากการตอบคาถามและอภิปรายในชั้นเรี ยน
• ทาแบบฝึ กหัดท้ ายบท
• ทารายงานส่ ง
4
• PHP จัดว่ าเป็ นภาษาโปรแกรมฝั่ งเซิร์ฟเวอร์ (Server-Side
Language) เนื่องจากโค้ ด PHP จะถูกประมวลผลที่ฝ่ ั งเว็บ
เซิร์ฟเวอร์
• เดิมย่ อมาจาก Personal Home Page Tools
• เว็บไซต์ อย่ างเป็ นทางการของ PHP คือ www.php.net
5
PHP เป็ นภาษาจาพวก scripting language คาสั่งต่ างๆจะเก็บอยู่ใน
ไฟล์ ท่ เี รียกว่ า สคริปต์ (script) และเวลาใช้ งานต้ องอาศัยตัวแปล
ชุดคาสั่ง
• Script 2 อย่ างคือ
• Client-Side Script
• จะถูกแปล Script โดย Browser เช่ น VBScript, JavaScript
• Server-Side Script
• จะถูกแปลและประมวลผลโดย Web Server เช่ น ASP , PHP
,JSP
6
2. Web Server lacate .htm File
Web Server
3. HTML stream (from .htm page)
Returned to browser
4. Browser Process Client-side script
5. Browser Processes HTML
And displays Pages
1. Client Request Webpage
Client
7
3. Web server processes instruction to create HTML
2. Web server Instruction File
Web Server
4. HTML Stream returned to Browser
5. Browser Processes HTML
And displays Pages
1. Client Request Webpage
Client
8
9
• PHP 1.0-3.0 พัฒนาโดยโปรแกรมเมอร์ 2 คนที่มาร่ วมงาน
กับ Rasmus คือ Andi Gutmans และ Zeev Suraski
• PHP 4.0 มีคุณสมบัตใิ หม่ เช่ นเรื่ องเชสชั่น , Output
Buffering และ การรับข้ อมูลจากผู้ใช้ ท่ ปี ลอดภัยมากขึน้
โดยใช้ Zend Engine (Zend เป็ นคาที่มาจากชื่อของ Zeev
และ Andi) โดยจุดมุ่งหมายคือเพื่อเพิ่มประสิทธิภาพให้ กับ
เว็บแอพพลิเคชั่นที่มีความซับซ้ อน และปรับปรุ งความเป็ น
โมดูล (modularity)
10
• PHP 5.0 เปิ ดตัวในเดือนกรกฎาคม พ.ศ.2547 เวอร์ ช่ ันนีใ้ ช้
Zend Engine 2.0 เป็ นแกนหลักและได้ ปรับปรุ ง Object
Model ใหม่ โดยเฉพาะในส่ วนของการเขียนโปรแกรมเชิง
วัตถุ OOP
11
• สาหรั บ PHP 6.0 ซึ่งขณะเขียนต้ นฉบับนีย้ ังอยู่ระหว่ างการพัฒนา
และทดสอบ ยังคงใช้ Zend Engine เป็ นแกนหลักเช่ นเคย การ
เปลี่ยนแปลงที่สาคัญในเวอร์ ช่ ันนีค้ ือ
• ไม่ มีคุณสมบัติ register_globals,magin_quote_gpc และ safe_mode
ให้ ใช้ งานอีกต่ อไป
• ยกเลิกตัวแปร HTTP_*_VARS ทัง้ หมด (เช่ น HTTP_POST_VARS
และ HTTP_COOKIE_VARS)
• สนับสนุนการทางานกับสตริ งแบบ Unicode
• เพิ่มชนิดข้ อมูลจานวนเต็มขนาด 64 บิต
12
• PHP เป็ นโปรแกรมวิ่งฝั่ ง Sever ดังนัน
้ ขีดความสามารถไม่ จากัด
• Conlatfun-นั่นคือPHP วิ่งบนเครื่ อง UNIX,Linux,Windows ได้ หมด
• เรี ยนรู้ ง่าย เนืองจาก PHP ฝั่ งเข้ าไปใน HTML และใช้ โครงสร้ างและ
ไวยากรณ์ ภาษาง่ ายๆ
• เร็วและมีประสิทธิภาพ โดยเฉพาะเมือใช้ กับ Apach Xerve เพราะไม่ ต้องใช้
โปรแกรมจากภายนอก
• ใช้ ร่วมกับ XML ได้ ทันที
• ใช้ กับระบบแฟ้มข้ อมูลได้
• ใช้ กับข้ อมูลตัวอักษรได้ อย่ างมีประสิทธิภาพ
ใช้ กับโครงสร้ างข้ อมูลใช้ ได้ แบบ Scalar,Array,Associative array
• ใช้ กับการประมวลผลภาพได้
13
• สาหรั บการติดตัง้ Apache ผมจะแนะนาโปรแกรม Appserv
ซึ่งเป็ น โปรแกรมที่รวมเอา package
• Appserv คือ โปรแกรมที่รวมเอา Package ประกอบด้ วย
• Apache Web Server
• PHP Script Language
• MySQL Database
• phpMyAdmin Database Manager
http://www.AppServNetwork.com
14
15
กรุณาจา password
ให้ ได้ เพราะต้ องใช้ ใน
phpMyadmin โดย
User คือ root
พอร์ ตปกติคือ 80 อาจใช้ พอร์ ตอื่นได้ เช่น 8080
16
http://localhost
http://127.0.0.1
http://localhost:8080
17
เปิ ดโปรแกรม Edit Plus แล้ วเข้ าไปที่เมนู ToolsPreferences
จากนัน้ ไปกดที่ Tools
•
•
กด Add เพื่อเพิ่มรายการ
•
กด Edit เพื่อแก้ ไขรายการเดิม
(ซึ่งปกติมันจะอ่ านที่อยู่บนสุดเสมอ)
•
จากนัน้ กาหนดชื่อ Host หรื อ IP
•
แล้ วกาหนด Folder ที่จะทางาน
•
จากนัน้ กลับที่หน้ าจอหลัก
•
แล้วลองเขียนโปรแกรม PHP
แล้วกด Ctrl+B เพื่อทดสอบ
18
19
Sample.php
<html>
<title>ทดสอบ Script แรก</title>
<body>
<?Php
echo "เราเขียน PHP ได้แล้ว";
?>
</body>
</html>
ให้ บันทึกไฟล์ ลงที่โฟลเดอร์
C:\AppServ\www\myweb
20
• การใช้ แท็กพิเศษ ของ PHP ครอบส่ วนที่เป็ นโค้ ด PHP ไว้
แท็กนีจ้ ะเริ่มต้ นด้ วย <?php และปิ ดท้ ายด้ วย ?> โดยไม่
จาเป็ นต้ องอยู่บรรทัดเดียวกัน โดยในเพจหนึ่งๆอาจมีการ
เปิ ดและปิ ดแท็กของ PHP มากกว่ า 1 ครัง้
• ภาษา PHP จะปิ ดท้ ายด้ วยเครื่ องหมาย semicolon (;)
โดยทั่วไปเราจะเขียน 1 ประโยคคาสั่งไว้ ใน 1 บรรทัด
21
รูปแบบคอมเมนต์
คอมเมนต์แบบบรรทัดเดียว
สัญลักษณ์ที่ใช้
// หรื อ #
คอมเมนต์แบบหลายบรรทัด
/* ... */
คาอธิบาย
ข้ อความใดๆตังแต่
้ เครื่ องหมายนี ้ไปจนสุด
บรรทัดนัน้ จะกลายเป็ นคอมเมนต์
ข้ อความที่อยู่ระหว่างนัน้ /* กับ */ จะ
กลายเป็ นคอมเมนต์
22
• PHP คือภาษาโปรแกรมที่ทางานทางฝั่ งเซิร์ฟเวอร์ โดยโค้ ด PHP ที่เราเขียน
จะถูกประมวลผลไปจนหมดที่ฝ่ ั งเซิร์ฟเวอร์ แล้ วให้ ผลลัพธ์ ออกมาเป็ น
ข้ อความธรรมดาและแท็กในภาษา HTML
• ภาษา PHP ใช้ สร้ าง Dynamic Web Page หมายถึงเว็บเพจที่มีเนือ้ หาไม่ คงที่
ตายตัว แต่ อาจเปลี่ยนแปลงไปได้ ในแต่ ละครั ง้ ที่ผ้ ูใช้ เรี ยกดู ซึ่งถ้ าเว็บเพจ
เหล่ านีถ้ ูกออกแบบมาเพื่อให้ ทางานอย่ างใดอย่ างหนึ่ง เราก็จะเรี ยกมันว่ า
เว็บแอพพลิเคชั่น (Web Application)
• แท็กของ PHP จะเริ่มต้ นด้ วย <? และปิ ดท้ ายด้ วย ?> โดยในเพจหนึ่งๆอาจมี
การเปิ ดและปิ ดแท็กของ PHP มากกว่ า 1 ครั ง้ คาสั่งต่ างๆที่อยู่ภายในแท็กนี ้
จะถูก PHP Interpreter ประมวลผล แต่ คาสั่งที่อยู่ภายนอกแท็กนีจ้ ะถูก
ส่ งผ่ าน (pass through) ไปยังเว็บบราวเซอร์
23
24