Introduction to PHP
ธีรภัทร พลมาตย์ 620710120
PHP (Hypertext Preprocessor)คือ
ภาษาPHP เป็นภาษาสคริปต์แบบโอเพนซอร์ส(open source scripting language) และ PHP ใช้การแปลภาษาเครื่องแบบ interpreter ทำให้สามารถค้นหาข้อผิดพลาดได้ง่าย เนื่องจากการประมวลผลตามโปรแกรมต้นฉบับทีละ คำสั่ง เมื่อเกิดข้อผิดพลาดที่คำสั่งใด อินเทอร์พรีเตอร์ก็จะแจ้งเตือนทันทีว่าผิดพลาดเพราะอะไร และทำการหยุดการแปลจนกว่าจะมีการแก้ไขให้ถูกต้อง
PHP ใช้ในงานแบบไหน ?
ภาษา PHP นั้นเหมาะสำหรับการพัฒนาเว็บไซต์และเว็บแอปพลิเคชัน (แอปพลิเคชันที่เรียกใช้บนเซิร์ฟเวอร์และสร้างแบบไดนามิก) โดยใช้สำหรับจัดการเนื้อหาไดนามิก ฐานข้อมูล การติดตามเซสชัน หรือแม้แต่สร้างเว็บไซต์อีคอมเมิร์ซทั้งหมด
คุณสมบัติต่างๆของ PHP
PHP ใช้สร้างเนื้อหาของหน้าเว็บแบบไดนามิก
PHP สามารถสร้าง เปิด อ่าน เขียน ลบ และปิดไฟล์บนเซิร์ฟเวอร์
PHP สามารถรวบรวมข้อมูลจากเว็บฟอร์ม
PHP สามารถรับและส่งคุกกี้
PHP สามารถเพิ่ม ลบ แก้ไข ข้อมูลในฐานข้อมูลของคุณ
PHP สามารถควบคุมการเข้าถึงของผู้ใช้
PHP สามารถเข้ารหัสข้อมูล
PHP มีคลาสและไลบรารีที่สามารถนำมาใช้ซ้ำได้จำนวนมากซึ่งมีอยู่ใน "PEAR" และ "Composer" PEAR (PHP Extension and Application Repository) เป็นระบบการแจกจ่ายสำหรับไลบรารีหรือคลาส PHP ที่สามารถนำมาใช้ซ้ำได้ "Composer" เป็นเครื่องมือจัดการการพึ่งพาใน PHP
ประวัติและความเป็นมา PHP
PHP มีจุดเริ่มต้นมาจากการที่ Rasmus Lerdorf ได้พัฒนาโปรแกรม Common Gateway Interface (CGI)ในปี คศ. 1993 เพื่อใช้ในการดูแลจัดการเว็บส่วนตัวของเขา โดยตั้งชื่อโปรแกรมนี้ว่า Personal Home Page Tools (PHP-Tools) ต่อมา Rasmus Lerdorf ได้พัฒนาให้โปรแกรมเหล่านี้ทำงานกับเว็บฟอร์มและเชื่อมต่อกับฐานข้อมูลต่างๆได้ จึงเรียกตามลักษณะการใช้งานว่า "Personal Home Page/Forms Interpreter" หรือ PHP/FI และได้เริ่มแจกจ่ายโค้ดออกไปในลักษณะฟรีแวร์
ต่อมาในปี คศ.1997 Zeev Suraski และ Andi Gutmans ได้ร่วมกันเขียนโค้ดขึ้นใหม่โดยได้มีการปรับปรุงให้ดีขึ้นในหลายๆ ด้าน เช่น เพิ่มประสิทธิภาพในการประมวลผล การสนับสนุนการโปรแกรมเชิงวัตถุ และในด้านอื่นๆ จนเกิดเป็น PHP3 ซึ่งเป็นเวอร์ชั่นที่ได้รับความนิยมเป็นอย่างมาก เมื่อมีผู้ใช้เป็นจำนวนมาก จึงมีการนำไปใช้ในงานที่ซับซ้อนขึ้น ด้วยเหตุนี้ Zeev Suraski และ Andi Gutmans ผู้พัฒนา PHP3 จึงตัดสินใจเขียนโค้ดขึ้นใหม่ทั้งหมด และได้ตั้งชื่อว่า Zend engine (มาจากชื่อ Zeev และ Andi) ซึ่งเป็นหัวใจของ PHP4 ซึ่งปล่อยออกมาใน คศ.2000 และชื่อของภาษาได้เปลี่ยนไปเป็นคำย่อแบบวนซ้ำ (PHP: Hypertext Preprocessor)
ในปีคศ.2004 ได้มีการปล่อย PHP 5 ที่ใช้ Zend engine II ซึ่งได้เพิ่มคุณสมบัติใหม่หลายอย่าง เช่น การสนับสนุน OOP, PHP Data Objects (PDO) และการปรับปรุงประสิทธิภาพ
PHP6 ไม่ได้มีการปล่อยกำลังอยู่ในขั้นพัฒนาและปรับปรุงขณะนี้ยังเป็น Beta Version
PHP 7 ได้รับการพัฒนาและปล่อยออกมาในปีค.ศ. 2015 และยังคงใช้ Zend Engine 3.0 ซึ่งจะมีหลักๆดังนี้
คือ รองรับระบบปฎิบัติการ 64 บิต , การประกาศตัวแปร object parameter และ ประกาศตัวแปร return type,
?? (null coalesce) operator, Anonymous classes และ <=> ตัวดำเนินการเปรียบเทียบสามทาง (spaceship)
PHP8 ปล่อยครั้งแรกในปี ค.ศ.2020 ณ ปัจจุบันถือเป็นเวอร์ชั่นล่าสุด ซึ่งได้มีการเพิ่มคุณสมบัติหลายอย่างตั้งแต่ named arguments, union types, attributes, constructor property promotion, match expressions, the nullsafe operator (?->) ,การคอมไพล์ Just-in-time (JIT),error handling, and consistency.
ตัวอย่างการเขียน Hello World ใน PHP
ผลลัพธ์
เปรียบเทียบกับภาษา Java/C/Python
ความเหมือนของภาษา PHP และ ภาษา C
ไวยากรณ์ :
ตัวดำเนินการ :
โครงสร้างการควบคุม :
ความต่างของภาษา PHP และ ภาษา C
โครงสร้าง :
การประกาศฟังก์ชั่น :
ตัวอย่างการเขียน Hello World ใน C
ตัวอย่างการเขียน Hello world ใน PHP
เปรียบเทียบภาษา PHP กับ ภาษา Java
ลักษณะโดยรวม
ภาษาโปรแกรมเชิงวัตถุทั่วไป
ภาษาสคริปต์ฝั่งเซิร์ฟเวอร์เชิงวัตถุ
การประมวลผล
คอมไพล์ (Compiled)
ตีความ (Interpreted)
ประเภทข้อมูล
เข้มงวด (Strongly typed)
อ่อน (Weakly typed)
ไลบรารี
มีไลบรารีให้เลือกใช้มากมาย
มีไลบรารีน้อยกว่า Java แต่ปรับแต่งได้ง่าย
การโอเวอร์โหลดและโอเวอร์ไรด์เมธอด
รองรับ
ไม่รองรับ
การจัดการแพ็กเกจ
มีระบบการจัดการแพ็กเกจ
ไม่มีระบบการจัดการแพ็กเกจ
ประสิทธิภาพ
เหมาะสำหรับแอปพลิเคชันขนาดใหญ่และซับซ้อน
เหมาะสำหรับสร้างเว็บเพจ
การเขียนโปรแกรมเชิงวัตถุ
เป็นคุณสมบัติพื้นฐาน
เป็นตัวเลือกเสริม
ความปลอดภัย
มีความปลอดภัยสูง
มีความปลอดภัยน้อยกว่า Java
ตัวอย่างการเขียน Hello world ใน Java
ตัวอย่างการเขียน Hello world ใน PHP
เปรียบเทียบภาษา PHP กับ ภาษา Python
การเรียนรู้
เรียนรู้ได้ง่ายกว่า ไม่มีโครงสร้างเหมาะสำหรับผู้เริ่มต้น
มีโครงสร้างที่ชัดเจน เหมาะสำหรับโครงการระยะยาว
เฟรมเวิร์ก
มีเฟรมเวิร์กจำนวนมาก เช่น Laravel และ Slim
มีเฟรมเวิร์กน้อยกว่า PHP เช่น Django และ Flask
ไวยากรณ์
ไวยากรณ์ของ PHP มีความหลากหลายและซับซ้อนกว่า
Python มีลักษณะของการเขียนที่ใกล้เคียงกับภาษาพูด ทำให้อ่านและเขียนโค้ดได้ง่าย
จุดเด่นของภาษา
เป็นOpen Source และง่ายต่อการใช้งาน
เน้นการเขียนโค้ดที่สั้น กระชับ และมีประสิทธิภาพ
การนำไปใช้
ถูกออกแบบมาสำหรับการพัฒนาเว็บไซต์
ใช้ได้หลากหลายงาน แต่โดยส่วนมากนิยมใช้ในงานด้านวิทยาศาสตร์ข้อมูล ปัญญาประดิษฐ์ และระบบอัตโนมัติ
การดูแลระบบ
ซับซ้อนกว่าในการดูแลรักษา
ดูแลรักษาง่ายกว่า เนื่องจากโครงสร้างไม่ซับซ้อน
การแก้ไขข้อผิดพลาด(Debugging)
การแก้ไขข้อผิดพลาดทำได้ช้ากว่า
การแก้ไขข้อผิดพลาดทำได้ไวกว่า
การเชื่อมต่อและทำงานร่วมกับฐานข้อมูล
มีการรองรับฐานข้อมูลมากกว่า 20 ตัว
รองรับฐานข้อมูลน้อยกว่าPHP
ตัวอย่างการเขียน Hello world ใน Python
ตัวอย่างการเขียน Hello world ใน PHP
คลิปนำเสนอ
สไลด์นำเสนอ
อ้างอิง(References)
javatpoint. ( 2024). PHP Example,Why use PHP. Retrieved from javatpoint: https://www.javatpoint.com/php-tutorial
W3Schools. (2024). What is PHP?,What can PHP Do. Retrieved from W3Schools: https://www.w3schools.com/php/php_intro.asp
tutorialspoint. (2024). PHP Versions. Retrieved from tutorialspoint:https://www.tutorialspoint.com/php/php_introduction.htm
อาจารย์ ปริญญา น้อยดอนไพร. ประวัติความเป็นมา PHP. Retrieved from อาจารย์ ปริญญา น้อยดอนไพร:https://view.officeapps.live.com/op/view.aspx?src=https%3A%2F%2Ffreebsd.sru.ac.th%2Fcourse%2F4012305-Web-Programming%2FPHP-Basic.ppt&wdOrigin=BROWSELINK
tutorialspoint. (2022). Difference between PHP and C. Retrieved from tutorialspoint:https://www.tutorialspoint.com/difference-between-php-and-c
emizentech. (2022). PHP & Java Comparison. Retrieved from emizentech:https://www.emizentech.com/blog/php-vs-java.html
javatpoint. (2022). Differences Between Java and PHP. Retrieved from javatpoint:https://www.javatpoint.com/java-vs-php
geeksforgeeks. (2023). Python vs PHP. Retrieved from geeksforgeeks:https://www.geeksforgeeks.org/python-vs-php/
Last updated