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

ผลลัพธ์:

สวัสดี โลก จาก PHP

PHP รันอยู่ตรงไหน

  • บนเว็บเซิร์ฟเวอร์ — คู่กับ 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 ก่อนถึงจะเริ่มได้ ไม่ต้อง — บทหน้าเราจะรันด้วย php CLI ล้วน ๆ

สรุป

  • PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ที่ออกแบบมาเพื่องานเว็บ ยังครองส่วนแบ่งเว็บทั่วโลกเป็นอันดับหนึ่ง
  • รันได้ทั้งบนเว็บเซิร์ฟเวอร์ (Apache/Nginx) และบรรทัดคำสั่ง — ซีรีส์นี้เริ่มจาก CLI
  • PHP 8 คนละเรื่องกับ PHP 5: มี type system, เร็วขึ้นมาก, มี exception, มี Composer, มีฟีเจอร์ภาษาสมัยใหม่
  • เราจะเขียน PHP แบบปลอดภัยและทันสมัยตั้งแต่บทแรก ไม่ลอกสไตล์เก่ามา

บทถัดไปเราจะติดตั้ง PHP ลงเครื่อง เช็คเวอร์ชัน แล้วรันสคริปต์แรก พร้อมรู้จักเครื่องมือ CLI ที่ติดมากับ PHP ซึ่งจะใช้ตลอดทั้งซีรีส์