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