ถ่านดูดกลิ่นจากผลไม้
by Nitiphat Sub-aurairat
ภาษาพีเอชพี ในชื่อภาษาอังกฤษว่า PHP ซึ่งใช้เป็นคำย่อแบบกล่าวซ้ำ จากคำว่า PHP Hypertext Preprocessor หรือชื่อเดิม Personal Home Page
คุณสมบัติ
การแสดงผลของพีเอชพี จะปรากฏในลักษณะHTML ซึ่งจะไม่แสดงคำสั่งที่ผู้ใช้เขียน ซึ่งเป็นลักษณะเด่นที่พีเอชพีแตกต่างจากภาษาในลักษณะไคลเอนต์-ไซด์ สคริปต์ เช่น ภาษาจาวาสคริปต์ ที่ผู้ชมเว็บไซต์สามารถอ่าน ดูและคัดลอกคำสั่งไปใช้เองได้ นอกจากนี้พีเอชพียังเป็นภาษาที่เรียนรู้และเริ่มต้นได้ไม่ยาก โดยมีเครื่องมือช่วยเหลือและคู่มือที่สามารถหาอ่านได้ฟรีบนอินเทอร์เน็ต ความสามารถการประมวลผลหลักของพีเอชพี ได้แก่ การสร้างเนื้อหาอัตโนมัติจัดการคำสั่ง การอ่านข้อมูลจากผู้ใช้และประมวลผล การอ่านข้อมูลจากดาต้าเบส ความสามารถจัดการกับคุกกี้ ซึ่งทำงานเช่นเดียวกับโปรแกรมในลักษณะCGI คุณสมบัติอื่นเช่น การประมวลผลตามบรรทัดคำสั่ง (command line scripting) ทำให้ผู้เขียนโปรแกรมสร้างสคริปต์พีเอชพี ทำงานผ่านพีเอชพี พาร์เซอร์ (PHP parser) โดยไม่ต้องผ่านเซิร์ฟเวอร์หรือเบราว์เซอร์ ซึ่งมีลักษณะเหมือนกับ Cron (ใน ยูนิกซ์หรือลีนุกซ์) หรือ Task Scheduler (ในวินโดวส์) สคริปต์เหล่านี้สามารถนำไปใช้ในแบบ Simple text processing tasks ได้
การแสดงผลของพีเอชพี ถึงแม้ว่าจุดประสงค์หลักใช้ในการแสดงผล HTML แต่ยังสามารถสร้าง XHTML หรือ XML ได้ นอกจากนี้สามารถทำงานร่วมกับคำสั่งเสริมต่างๆ ซึ่งสามารถแสดงผลข้อมูลหลัก PDF แฟลช (โดยใช้ libswf และ Ming) พีเอชพีมีความสามารถอย่างมากในการทำงานเป็นประมวลผลข้อความ จาก POSIX Extended หรือ รูปแบบ Perl ทั่วไป เพื่อแปลงเป็นเอกสาร XML ในการแปลงและเข้าสู่เอกสาร XML เรารองรับมาตรฐาน SAX และ DOM สามารถใช้รูปแบบ XSLT ของเราเพื่อแปลงเอกสาร XML
เมื่อใช้พีเอชพีในการทำอีคอมเมิร์ซ สามารถทำงานร่วมกับโปรแกรมอื่น เช่น Cybercash payment, CyberMUT, VeriSign Payflow Pro และ CCVS functions เพื่อใช้ในการสร้างโปรแกรมทำธุรกรรมทางการเงิน
การรองรับพีเอชพี
คำสั่งของพีเอชพี สามารถสร้างผ่านทางโปรแกรมแก้ไขข้อความทั่วไป เช่น โน้ตแพด หรือ vi ซึ่งทำให้การทำงานพีเอชพี สามารถทำงานได้ในระบบปฏิบัติการหลักเกือบทั้งหมด โดยเมื่อเขียนคำสั่งแล้วนำมาประมวลผล Apache, Microsoft Internet Information Services (IIS) , Personal Web Server, Netscape และ iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, และอื่นๆ อีกมากมาย. สำหรับส่วนหลักของ PHP ยังมี Module ในการรองรับ CGI มาตรฐาน ซึ่ง PHP สามารถทำงานเป็นตัวประมวลผล CGI ด้วย และด้วย PHP, คุณมีอิสรภาพในการเลือก ระบบปฏิบัติการ และ เว็บเซิร์ฟเวอร์ นอกจากนี้คุณยังสามารถใช้สร้างโปรแกรมโครงสร้าง สร้างโปรแกรมเชิงวัตถุ (OOP) หรือสร้างโปรแกรมที่รวมทั้งสองอย่างเข้าด้วยกัน แม้ว่าความสามารถของคำสั่ง OOP มาตรฐานในเวอร์ชันนี้ยังไม่สมบูรณ์ แต่ตัวไลบรารีทั้งหลายของโปรแกรม และตัวโปรแกรมประยุกต์ (รวมถึง PEAR library) ได้ถูกเขียนขึ้นโดยใช้รูปแบบการเขียนแบบ OOP เท่านั้น ซึ่งฐานข้อมูลส่วนหนึ่งที่รองรับได้แก่ ออราเคิล dBase PostgreSQL IBM DB2 MySQL Informix ODBC โครงสร้างของฐานข้อมูลแบบ DBX ซึ่งทำให้พีเอชพีใช้กับฐานข้อมูลอะไรก็ได้ที่รองรับรูปแบบนี้ และ PHP ยังรองรับ ODBC (Open Database Connection) ซึ่งเป็นมาตรฐานการเชื่อมต่อฐานข้อมูลที่ใช้กันแพร่หลายอีกด้วย คุณสามารถเชื่อมต่อกับฐานข้อมูลต่างๆ ที่รองรับมาตรฐานโลกนี้ได้
พีเอชพียังสามารถรองรับการสื่อสารกับการบริการในโพรโทคอลต่างๆ เช่น LDAP IMAP SNMP NNTP POP3 HTTP COM (บนวินโดวส์) และอื่นๆ อีกมากมาย คุณสามารถเปิด Socket บนเครื่อข่ายโดยตรง และ ตอบโต้โดยใช้ โพรโทคอลใดๆ ก็ได้ PHP มีการรองรับสำหรับการแลกเปลี่ยนข้อมูลแบบ WDDX Complex กับ Web Programming อื่นๆ ทั่วไปได้ พูดถึงในส่วน Interconnection, พีเอชพีมีการรองรับสำหรับ Java objects ให้เปลี่ยนมันเป็น PHP Object แล้วใช้งาน คุณยังสามารถใช้รูปแบบ CORBA เพื่อเข้าสู่ Remote Object ได้เช่นกัน
หลักการทำงานของภาษา PHP
ภาษา PHP นั้นทำงานอยู่บนฝั่ง Server ซึ่งเราไม่สามารถเห็นโค๊ดของภาษา PHP ที่คอมพิวเตอร์เราได้เลย เพราะว่าระหว่างที่เราใช้งาน Browser เพื่อเรียกเว็บไซต์นั้น ทาง Server ก็จะประมวลผลภาษา PHP และผลลัพท์ที่ได้คือคำสั่ง HTML หลังจากนั้นมันจะส่ง HTML ที่ได้จากการประมวลผลแล้วนั้นมาให้กับ Browser ที่เราพึ่งเรียกไป แล้วก็จะแสดงผล HTML ให้เราเห็นเป็นรูปร่างเว็บ ถ้าหากใครเคย View Source ก็จะเห็นโค๊ด HTML เต็มไปหมด แต่ไม่เห็นโค๊ด PHP เลย เพราะฉะนั้น ถึงแม้ว่าคนจะเข้าเว็บไซต์ของเรา แต่ผู้ใช้งานก็จะไม่เห็นโค๊ดที่เราใช้เวลาเขียนอันยาวนาน ปลอดภัยแน่นอน เพราะว่ามันถูกประมวลผลแล้วส่งเป็น HTML มาให้ผู้ใช้งานต่าง ๆ นั่นเอง
อย่างที่ได้กล่าวไว้ในบทความ “ความสามารถหรือคุณสมบัติของภาษา PHP” ว่าภาษา PHP นั้นต้องการ Web Server ในการประมวลผล เพราะฉะนั้นหากเราต้องการรันภาษา PHP ในคอมพิวเตอร์ธรรมดาที่ไม่ใช้ Server หรือพูดง่าย ๆ คืออยากจะลองเขียน PHP ในคอมพิวเตอร์ของเรานี่แหละ มันจะต้องใช้ตัวจำลอง Server เพื่อทำให้คอมพิวเตอร์ของเราเป็น Web Server จำลอง แล้วคอมพิวเตอร์ของเราก็จะสามารถประมวลผลภาษา PHP และแปลงเป็น HTML ได้นั่นเอง ซึ่งโปรแกรมตัวนี้เป็นที่รู้จักกันในชื่อของ “Appserv” โดยสามารถศึกษาข้อมูลเพิ่มเติมได้ที่
-
Appserv คืออะไร
-
การติดตั้ง Appserv
หลังจากที่คุณศึกษา 2 หัวข้อนี้แล้ว จะทำให้คุณเข้าใจการทำงานของภาษา PHP มากขึ้นแน่นอน
ข้อดี
- ความปลอดภัยอยู่ในระดับดี ถึงสูง พวกธนาคารหลายๆที่จึงเลือกใช้ สำหรับงานระดับลึกๆ หมายถึงข้อผิดพลาดของ bug ต่างๆ นะ
- เมื่ออยู่บน linux,unix,solaris มันทำทำงานได้เร็วกว่า windows ประมาณเท่าตัว
- รูปแบบการเขียน ยืดหยุ่นมาก เขียนได้ทั้ง แบบ เก่า ตือ HTML +code หน้าเดียว หรือแบบใหม่ HTML แยกกันกับ Code ,OOP
- สามารถเขียนได้ ทั้ง win app (ยากฉิบหาย),batch script ,web app ,ล่าสุดมีคนพยายามทำให้มันเป็นเหมือน java นั่นคือ เอา php code ไปรันบน platform ไหนก็ได้
- มี framework ช่วยพัฒนาเยอะมาก
- อะไรที่ .net หรือ java มี เดี๋ยว php ก็มี ตาม (บางอย่าง .net ,java ก็มาลอก php ไป) เจ๊ากัน
- เป็นที่นิยมในสถาบันการศึกษา เพราะฟรี
ข้อเสีย
- ขาด IDE ที่เป็นมาตรฐานกลางทำให้คนเขียน ต้องไป ขุดหาโปรแกรมที่ใช้ในการพัฒนาเอาเอง
- บางทีออก version ใหม่บ่อยเกินไป
- การเขียนบางที ต้อง include เยอะแยะไปหมด
- ไม่มี บ. software ใหญ่ๆ เป็นป๋าดันให้ เลยไม่ดังเปรี้ยง แต่ค่อยๆดังเพราะทำความดี สะสม
- การเขียนติดต่อระดับ component หรือ COM+ ของ windows อาจต้อง config ยุ่งยากหน่อย (ไม่เคยเขียน)
- ใช้ IE เปิด web php.net ใน เครือข่าย kku แล้ว download php ยากมาก