PHP คืออะไร
ถ้าคุณเคยได้ยินคนบอกว่า “PHP ตายแล้ว” — ลองเปิดดูว่าเว็บที่คุณเข้าทุกวันรันด้วยอะไร WordPress (ครองส่วนแบ่งเว็บทั่วโลกราว 43%), Wikipedia, Slack, ระบบหลังบ้านของ Facebook รุ่นแรก ทั้งหมดเป็น PHP และสถิติจาก W3Techs ปี 2025 ยังบอกว่าเว็บที่ระบุภาษาฝั่งเซิร์ฟเวอร์ได้ ราว 75% ใช้ PHP
PHP ไม่ได้ตาย มันแค่โตขึ้นเงียบ ๆ และเวอร์ชัน 8 ที่เราจะเรียนกันในซีรีส์นี้ เป็นคนละภาษากับ PHP ที่หลายคนจำได้จากสมัยเรียน
PHP คืออะไรกันแน่
PHP ย่อมาจาก “PHP: Hypertext Preprocessor” (ใช่ มันย่อคำที่มีตัวมันเองอยู่ข้างใน) เป็น ภาษาสคริปต์ที่รันบนเซิร์ฟเวอร์ หน้าที่หลักคือรับคำขอจากเบราว์เซอร์ ประมวลผล (อ่านฐานข้อมูล เช็คสิทธิ์ คำนวณ) แล้วส่ง HTML, JSON หรืออะไรก็ตามกลับไป
จุดที่ทำให้ PHP แพร่หลายตั้งแต่ยุค 2000 คือมันออกแบบมาเพื่องานเว็บโดยเฉพาะ ไฟล์ .php หนึ่งไฟล์วางบนเซิร์ฟเวอร์ก็เป็นหนึ่งหน้าเว็บได้ทันที ไม่ต้องตั้ง build step ไม่ต้องคอมไพล์
<?php
$name = 'โลก';
echo "สวัสดี $name จาก PHP\n";รันไฟล์นี้:
php hello.phpผลลัพธ์:
สวัสดี โลก จาก PHPPHP รันอยู่ตรงไหน
- บนเว็บเซิร์ฟเวอร์ — คู่กับ Apache (
mod_php) หรือ Nginx (php-fpm) นี่คือการใช้งานหลัก - บรรทัดคำสั่ง (CLI) — เขียนสคริปต์ทำงานอัตโนมัติ, cron job, เครื่องมือ deploy เราจะใช้โหมดนี้เรียนกันเกือบทั้งซีรีส์เพราะเห็นผลเร็ว
- เซิร์ฟเวอร์ในตัว —
php -S localhost:8000เปิดเว็บเซิร์ฟเวอร์ทดสอบได้ใน 1 บรรทัด ไม่ต้องลง Apache
ผู้อ่านต่างจากภาษาอย่าง JavaScript ตรงที่ PHP โค้ดจะ ไม่มีวันไปโผล่ที่เบราว์เซอร์ ผู้ใช้เห็นแค่ผลลัพธ์ที่มันสร้าง
PHP 8 ต่างจาก PHP ยุคเก่ายังไง
ภาพจำแย่ ๆ ของ PHP มาจากโค้ดสไตล์ปี 2010 หน้าตาประมาณนี้:
<?php
// PHP สไตล์เก่า — อย่าเขียนแบบนี้
$result = mysql_query("SELECT * FROM users WHERE id = " . $_GET['id']);
$row = mysql_fetch_array($result);
echo "<h1>" . $row['name'] . "</h1>";โค้ดข้างบนมีช่องโหว่ SQL injection, ช่องโหว่ XSS, และใช้ฟังก์ชัน mysql_* ที่ถูกลบไปตั้งแต่ PHP 7 แล้ว
PHP สมัยใหม่เขียนแบบนี้:
<?php
declare(strict_types=1);
function greet(string $name, int $times = 1): string
{
return str_repeat("สวัสดี $name\n", $times);
}
echo greet(times: 2, name: 'PHP 8');สิ่งที่เปลี่ยนไปในทางที่ดีขึ้นมาก:
| PHP 5 (ยุคเก่า) | PHP 8 (ที่เราจะเรียน) | |
|---|---|---|
| ชนิดข้อมูล | ไม่บังคับ พารามิเตอร์เป็นอะไรก็ได้ | ประกาศ type ได้ทั้ง argument / return / property |
| ความเร็ว | ช้า | JIT + engine ใหม่ เร็วกว่า PHP 5 หลายเท่า |
| จัดการ error | คืน false เงียบ ๆ ต้องเช็คเอง | โยน exception ให้ catch |
| จัดการแพ็กเกจ | คัดลอกไฟล์เอง | Composer (เหมือน npm ของ Node) |
| ฟีเจอร์ภาษา | คลาสพื้นฐาน | enum, readonly, match, constructor promotion, nullsafe |
ในซีรีส์นี้เราจะเขียน PHP แบบปี 2026 ตั้งแต่บทแรก — มี declare(strict_types=1), มี type ทุกที่, ใช้ PDO กับ prepared statement, escape ทุกครั้งที่แสดงผล
PHP เทียบกับภาษาอื่น
- เทียบ Node.js — ทั้งคู่ทำเว็บหลังบ้านได้ดี Node เด่นเรื่อง real-time และแชร์โค้ดกับ frontend ส่วน PHP เด่นเรื่อง “วางไฟล์แล้วรันได้เลย”, โฮสต์ราคาถูกหาง่าย, และระบบนิเวศ CMS/อีคอมเมิร์ซ (WordPress, Laravel, Magento)
- เทียบ Python — Python แข็งแรงกว่าในงาน data/AI ส่วน PHP ถูกปรับจูนมาเพื่อ request–response ของเว็บโดยเฉพาะ เริ่มงานเว็บได้เร็วกว่า
- PHP ยังมี Laravel และ Symfony เฟรมเวิร์กระดับโลกที่ทำให้เขียนแอปใหญ่ ๆ ได้สบาย — แต่ซีรีส์นี้จะสอน PHP เปล่า ๆ ให้แน่นก่อน เพราะเข้าใจของจริงแล้วเฟรมเวิร์กไหนก็ต่อยอดง่าย
เรื่องที่คนมักพลาด
- คิดว่า PHP = WordPress WordPress เขียนด้วย PHP แต่ PHP ทำอะไรได้มากกว่านั้นเยอะ ทั้ง API, ระบบหลังบ้าน, เครื่องมือ CLI
- เอาโค้ด PHP เก่าจากอินเทอร์เน็ตมาใช้ตรง ๆ บทความ PHP จำนวนมากบนเว็บเขียนไว้ 10 ปีที่แล้ว ใช้
mysql_*, ไม่มี type, ไม่ escape — ให้เช็คปีที่เขียนเสมอ และยึดเอกสารทางการ php.net เป็นหลัก - สับสนระหว่าง PHP กับ HTML PHP รันบนเซิร์ฟเวอร์แล้ว *สร้าง* HTML ออกมา ผู้ใช้ไม่เห็นโค้ด PHP เลย
- คิดว่าต้องมี Apache ก่อนถึงจะเริ่มได้ ไม่ต้อง — บทหน้าเราจะรันด้วย
phpCLI ล้วน ๆ
สรุป
- PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ที่ออกแบบมาเพื่องานเว็บ ยังครองส่วนแบ่งเว็บทั่วโลกเป็นอันดับหนึ่ง
- รันได้ทั้งบนเว็บเซิร์ฟเวอร์ (Apache/Nginx) และบรรทัดคำสั่ง — ซีรีส์นี้เริ่มจาก CLI
- PHP 8 คนละเรื่องกับ PHP 5: มี type system, เร็วขึ้นมาก, มี exception, มี Composer, มีฟีเจอร์ภาษาสมัยใหม่
- เราจะเขียน PHP แบบปลอดภัยและทันสมัยตั้งแต่บทแรก ไม่ลอกสไตล์เก่ามา
บทถัดไปเราจะติดตั้ง PHP ลงเครื่อง เช็คเวอร์ชัน แล้วรันสคริปต์แรก พร้อมรู้จักเครื่องมือ CLI ที่ติดมากับ PHP ซึ่งจะใช้ตลอดทั้งซีรีส์