ภาษาคอมพิวเตอร์ แบบ Open Source ที่ใช่กันอย่างแพร่หลาย ซึ่งใช้ในการจัดทำเว็บและสามารถประมวลผลออกมาเป็นรูปแบบ HTML โครงสร้างคำสั่งของ PHP นั้นมีรากฐานมาจากภาษา C Java และ Perl ซึ่ง ภาษา PHP นั้นง่ายต่อการเรียนรู้ เป้าหมายหลักของภาษาคอมพิวเตอร์นี้ คือ เพื่อให้นักพัฒนาเว็บไซท์สามารถเขียน เว็บเพจ(Web Page) ที่มีความตอบโต้ได้อย่างรวดเร็ว แต่มิใช่เพียงแค่นั้น คุณสามารถทำอื่นๆ อีกมากมายด้วย PHP
ประวัติความเป็นมาของพีเอชพี
PHP เป็นภาษา Scripting Language คำสั่งต่างๆจะเก็บอยู่ในไฟล์ที่เรียกว่าสคริปต์ (Script) และเวลาใช้งานต้องอาศัยตัวแปลชุดคำสั่ง ตัวอย่างของภาษาสคริปก็เช่น JavaScript, Perl เป็นต้น ลักษณะของ PHP ที่แตกต่างจากภาษาสคริปต์แบบอื่นๆ คือ PHP ได้รับการพัฒนาออกแบบมา เพื่อใช้งานในการสร้างเอกสารแบบ HTML โดยสามารถ สอดแทรกหรือแก้ไขเนื้อหาได้โดยอัตโนมัติ ดังนั้นจึงกล่าวว่า PHP เป็นภาษาที่เรียกว่า Server Side หรือ HTML-Embedded Scripting Language เป็นเครื่องมือที่สำคัญชนิดหนึ่ง ที่ช่วยให้เราสามารถสร้างเอกสารแบบ Dynamic HTML ได้อย่างมีประสิทธิภาพและมีลูกเล่นมากขึ้น หากใครรู้จัก Server Side Include (SSI) ก็จะสามารถเข้าใจการทำงานของ PHP ได้ไ
เช่นหาก เราต้องการจะแสดงวันเวลาปัจจุบันที่ ผู้เข้ามาเยี่ยมชมเว็บไซด์ในขณะนั้น ในตำแหน่ง ใดตำแหน่งหนึ่งภายในเอกสาร HTML ที่เราต้องการ อาจจะใช้คำสั่งในรูปแบบนี้ เช่น ไว้ในเอกสาร HTML เมื่อ SSI ของ Web Server มาพบคำสั่งนี้ ก็จะกระทำคำสั่ง date.pl ซึ่งในกรณีนิ้ เป็นสคริปต์ที่เขียนด้วยภาษา perl สำหรับอ่านเวลาจากเครื่องคอมพิวเตอร์ แล้วใส่ค่าเวลาเป็นเอาพุท (output) และแทนที่คำสั่งดังกล่าว ลงในเอกสาร HTML โดยอัตโนมัติ ก่อนที่จะส่งไปยังผู้อ่านอีกทีหนึ่ง อาจกล่าวได้ว่า PHP ได้รับการพัฒนาขึ้นมา เพื่อแทนที่ SSI รูปแบบเดิมๆ โดยให้มีความสามารถ และมีส่วนเชื่อมต่อกับเครื่องมือชนิดอื่นมากขึ้น เช่น ติดต่อกับคลังข้อมูลหรือ database เป็นต้น
ภาษา PHP ได้รับการเผยแพร่เป็นครั้งแรกในปี ค.ศ.1994 จากนั้นก็มีการพัฒนาต่อมาตามลำดับ
PHP 1 ในปี 1995 รุ่นนี้มีฟังก์ชันพื้นฐานที่ PHP มีอยู่แล้วในปัจจุบัน และความสามารถในการฝัง HTML ไวยากรณ์คล้ายกับที่ของ PERL แต่ก็ง่าย
PHP 2 (ตอนนั้นใช้ชื่อว่า PHP/FI) ในช่วงระหว่าง 1995-1997
PHP 3 ช่วง 1997 ถึง 1999
PHP 4 เปิดตัวช่วง ปี 2000 ซึ่งขับเคลื่อนโดย Zend Engine 1.0
PHP 5 เปิดตัวช่วง ปี 2004 สนับสนุนการเขียนโปรแกรมเชิงวัตถุ PHP Data Objects (PDO) ซึ่งกำหนดอินเทอร์เฟซให้เหมาะสำหรับการเข้าถึงฐานข้อมูล การสนับสนุนความปลอดภัยอย่างเป็นทางการสำหรับ PHP 5.6 สิ้นสุดในวันที่ 31 ธันวาคม 2018 และ MySQLi ถูกนำมาใช้กับ PHP 5 อย่างเป็นทางการ ความสามารถมีอินเทอร์เฟซแบบคู่ รองรับทั้งกระบวนทัศน์การเขียนโปรแกรมเชิงขั้นตอน และเชิงวัตถุ
PHP 6 เปิดตัวช่วง 2010 ไม่ค่อยได้รับการเผยแพร่ แต่ได้มีการเพิ่ม Features
1. Traits : (ลักษณะเป็นกลไกสำหรับการนำโค้ดมาใช้ซ้ำที่สืบทอดมา ทำให้นักพัฒนาสามารถใช้ชุดของวิธีการใหม่ได้อย่างอิสระในคลาสอิสระหลายคลาสที่อาศัยอยู่ในลำดับชั้นที่แตกต่างกัน )
2. closure re-binding : สร้างและส่งคืนฟังก์ชัน ที่ไม่ระบุชื่อด้วยเนื้อหา และตัวแปรที่ผูกไว้เดียวกันกับฟังก์ชันนี้
แต่ภายในปี 2014 ยังไม่มีการนำมาใช้
PHP 7 ช่วง 2014 ถึง 2015 การเปลี่ยนแปลงครั้งสำคัญของ PHP มันถูกเขียนโดย Dmitry Stogov, Xinchen Hui และ Nikita Popov มีเป้าหมายเพื่อเพิ่มประสิทธิภาพการทำงานของ PHP โดยการปรับโครงสร้าง Zend Engine ใหม่ในขณะที่ยังคงความเข้ากันได้ของภาษาที่ใกล้เคียง ได้มีการเปลี่ยนแปลงต่อไปนี้
1.Scalar type declarations
2.Return type declarations
3.Null coalescing operator
4.Spaceship operator
5.Constant arrays using define()
6.Anonymous classes
7.Unicode codepoint escape syntax
8.Closure::call()
9.Filtered unserialize()
10.IntlChar
11.Expectations
12.Group use declarations
13.Generator Return Expressions
14.Generator delegation
15.Integer division with intdiv()
16.Session options
17.preg_replace_callback_array()
18.CSPRNG Functions
PHP 7 ยังรวมคุณสมบัติภาษาใหม่ ที่โดดเด่นการประกาศประเภทการส่งคืนสำหรับฟังก์ชัน เสริมการประกาศประเภทพารามิเตอร์ที่มีอยู่ และรองรับประเภทสเกลาร์ (Integer, Float, String, And Boolean)
PHP 8 เปิดตัวเมื่อวันที่ 26 พฤศจิกายน 2020 คุณลักษณะใหม่และการเปลี่ยนแปลงที่โดดเด่น 1.Just-in-time compilation : การรวบรวมแบบทันท่วงที ระบบที่ใช้คอมไพเลอร์ JIT มักจะวิเคราะห์โค้ดที่กำลังรันอย่างต่อเนื่อง และระบุส่วนของโค้ดที่การเร่งความเร็วที่ได้รับจากการคอมไพล์
PHP 9 ยังเป็นแค่ข่าวลือ จะยังไม่มีการเปิดตัว PHP 9 แต่อย่างใด เนื่องจากจะขัดแย้งกับโค้ดดั้งเดิมที่ตรวจสอบสตริงเวอร์ชันสำหรับ PHP 95 และ PHP 98 RFC ปัจจุบันกำลังเสนอ PHP 2000 หรือ PHP XP อย่างไรก็ตาม และเนื่องจากการสนับสนุน IIS ยัง Supported อยู่ที่ 8.5 IIS (Internet Information Services) เป็นเว็บเซิร์ฟเวอร์ของ Microsoft และมีมาตั้งแต่ปี 1995
แนวโน้มของ PHP 9 และอนาคต แม้ในปัจจุบัน PHP 9 จะยังคงเป็นแผนงานในอนาคต แต่ทิศทางที่ชัดเจนคือการตัดการสนับสนุนโค้ดที่ล้าสมัย (Legacy Code) ออกไปทั้งหมด เพื่อทำให้ Engine มีขนาดเบา และเร็วที่สุด ความลือเรื่องการใช้ชื่อเวอร์ชันเช่น PHP 2000 หรือ PHP XP นั้นเป็นประเด็นที่พูดถึงในเชิงการตั้งชื่อเพื่อให้สอดคล้องกับสภาพแวดล้อมใหม่ๆ แต่แก่นแท้คือการมุ่งเน้นไปที่การรองรับ Type System ที่เข้มงวดมากขึ้น และการทำงานร่วมกับระบบ Cloud และ Microservices ได้ดียิ่งขึ้น
การเปรียบเทียบการใช้งาน PHP รุ่นเดิม (Legacy) vs PHP รุ่นใหม่ (Modern) เพื่อเห็นภาพความเปลี่ยนแปลง นักพัฒนาควรเข้าใจข้อแตกต่างของการเขียนโค้ดดังนี้
การจัดการเงื่อนไข (Switch vs Match)
• รุ่นเดิม (PHP 5/7) : ใช้ switch ซึ่งเขียนยาว และเสี่ยงต่อการลืมใส่ break
• รุ่นใหม่ (PHP 8) : ใช้ match ที่ส่งค่ากลับได้ทันที โค้ดสั้นลง และอ่านง่ายขึ้น
การจัดการเงื่อนไข การประกาศ Class (Manual vs Promotion)
• รุ่นเดิม : ต้องประกาศ Property, กำหนดค่าใน Parameter, และ Assign ค่าใน Constructor (เขียน 3 รอบ)
• รุ่นใหม่ : ใช้ Constructor Property Promotion ประกาศ และรับค่าในบรรทัดเดียว
ในปัจจุบัน PHP เติบโตอย่างรวดเร็วภายใต้ระบบ Open Source เมื่อใช้ร่วมกับ Apache หรือ Nginx บนระบบปฏิบัติการ Linux, FreeBSD หรือ Windows องค์กรส่วนใหญ่เลือกใช้ PHP เพื่อความคุ้มค่า และความยืดหยุ่นในการขยายระบบ โดยเฉพาะเมื่อทำงานร่วมกับ Framework สมัยใหม่ ซึ่งจะช่วยให้องค์กรสามารถสร้างนวัตกรรมดิจิทัลที่มั่นคง และยั่งยืนได้ในระยะยาว ในปัจจุบัน PHP สามารถใช้ร่วมกับ Web Server หลายๆตัวบนระบบปฏิบัติ ได้อีกด้วย

