Codding Gun

PHP คืออะไร?

PHP คือภาษาที่ใช้เขียนโปรแกรม(programming language) ใช้สำหรับพัฒนา Web Application โดยเน้นที่ความง่ายในการเขียน เราสามารถสร้าง Web Application ได้ด้วย Syntax ที่อ่านง่ายมากๆ ในอดีตถือว่า PHP เป็นทางเลือกอันดับ 1 แต่เนื่องจาก ปัจจุบันมีภาษาให้เราเลือกเยอะมากขึ้น ทำให้ PHP อาจยังไม่ใช่ทางเลือกที่เป็นอันดับ 1 อีกต่อไป

ก่อนจะเริ่มเขียน PHP เราลองมาดูกันว่า PHP มีข้อดีและข้อเสียที่แตกต่างจากภาษาอื่นๆยังไง และทำไมเราถึงต้องเลือก PHP

ข้อดีของ PHP

ข้อเสียของ PHP

เริ่มต้นหัดเขียน PHP

ก่อนที่จะทำความรู้จักกับ php ขออธิบายสิ่งที่ต้องเข้าใจก่อนเริ่มต้นเขียน PHP โดยที่คุณจะต้องแยกสิ่งเหล่านี้ให้ออกก่อน เริ่มต้นจาก

HTML

เป็นส่วนที่เป็นพื้นฐานสำคัญของเว็บเพราะเป็นส่วนของ content หรือข้อมูลที่เราแสดงอยู่บนเว็บ

JavaScript

เป็นส่วนที่ทำให้เว็บของเราเป็น Dynamic คือมีการโต้ตอบกับ user ได้ เช่น การลากวาง, การกดปุ่ม, การ pop-up dialog และอื่นๆ

CSS

เป็นส่วนของการจัดการเรื่องของความสวยงามการตกแต่งหน้าตาของเว็บให้ดูดี

Server-Side Script

Server-Side เป็นส่วนของการจัดการที่ฝั่ง Server เมื่อไหร่ก็ตามที่เราต้องการเก็บข้อมูลของ user เราจะเลือกเขียน code ที่ฝั่งนี้ เช่น ถ้าเราเปิดอบรม หรือ สัมนา เราก็ต้องการรู้ว่าคนที่จะเข้างานมีกี่คนและมีใครบ้าง ข้อมูลที่เราต้องเก็บคือ คนที่อยากมาเรียนหรือมาสัมนา เราก็ต้องเขียนแบบฟอร์มเพื่อให้คนที่ต้องการลงทะเบียนกรอกข้อมูลเข้ามา แล้วเก็บลง database เมื่อไหร่ก็ตามที่เราต้องการเก็บข้อมูลลง database เราต้องเขียน Code ฝั่ง Server(Server-Side) เสมอ ส่วนภาษาก็มีให้เลือกใช้มากมายไม่ว่าจะเป็น PHP, ASP.net, NodeJS, Python และอื่นๆ

Scripting Language

ภาษา PHP อยู่ในกลุ่มของ scripting language ซึ่งลักษณะเฉพาะของการเป็น scripting language คือ

บางทีเราจะเรียก PHP ว่าเป็น Server-Side Scripting Language

ขั้นตอนการทำงานของ PHP

ขั้นอตนการทำงานของ PHP

  1. Browser ส่ง request ขึ้นมาที่ web server ซึ่งอาจเป็น Apache หรือ Nginx ก็ได้
  2. Apache ค้นหาว่ามีไฟล์ที่เราส่งเข้ามาหรือไม่ ในกรณีนี้เราต้องการ run hello.php
  3. Apache จะเรียก php runtime ขึ้นมาแปล hello.php ทีละบรรทัด(php เป็น interpreter)
  4. ถ้าเราเขียน code เพื่ิอติดต่อกับ database php ก็จะไปดึงข้อมูลหรือใส่ข้อมูลลงใน database
  5. หลังจากนั้น php จะ render HTML ออกมาและส่งผลลัพธ์กลับไปยัง browser เพื่อแสดงผลต่อไป

PHP syntax

หลังจากที่เราเข้าใจการทำงานของ PHP แล้ว ทีนี้เราก็ลองมาดูกันว่า PHP มีวิธีการเขียนยังไงบ้าง

<?php
	ใส่คำสั่งของ PHP ลงในส่วนนี้
?>

เราสามารถเขียน PHP แบบไม่มี HTML แบบนี้

<?php
  echo "ข้อความที่ต้องการแสดงผล";
?>

หรือจะเขียน PHP ฝังลงไปใน HTML แบบนี้ก็ได้่

<!DOCTYPE html>
<html>
<body>

<?php
  echo &quot;My first PHP script!&quot;;
?>

</body>
</html>

ผลลัพธ์จะออกมาเป็น

"My first PHP script!"

ข้อควรระวัง พยายามอย่าเอา code php ไปรวมกับ html เพราะจะทำให้แก้ยาก

การใช้คำสั่ง Echo และ Print

การแสดงผลลัพธ์ออกทางหน้าจอใน PHP จะมีอยู่ 2 คำสั่งด้วยกันคือ echo และ print โดยการทำงานของ echo และ print นั้นจะแตกต่างกัน ดังนี้

PHP echo Statement

echo สามารถใช้โดยไม่ต้องใส่วงเล็บก็ได้

echo "&lt;h2>PHP is fun!&lt;/h2>";
echo "Hello world!&lt;br>";
echo "I'm about to learn PHP!&lt;br>";
// echo สามารถใส่ parameter ได้มากกว่า 1 ตัว
echo "This", " string", " was", " made", " with multiple parameters.";

การใช้ echo แสดงผลตัวแปร

$txt1 = "Learn PHP";
$txt2 = "W3Schools.com";
$cars = array("Volvo", "BMW", "Toyota");

echo $txt1 . "&lt;br>";
echo "Study PHP at " . $txt2 . "&lt;br>";
echo "My car is a " . $cars[0];

และตัวอย่างสุดท้ายการใช้งาน print แสดงผลตัวแปร

$txt1 = "Learn PHP";
$txt2 = "W3Schools.com";
$cars = array("Volvo", "BMW", "Toyota");

print $txt1 . "&lt;br>";
print "Study PHP at " . $txt2 . "&lt;br>";
print "My car is a " . $cars[0];

การใส่ Comment ใน PHP

Comment คือส่วนที่ Complier หรือ Interpreter ไม่นำไปประมวลผล แปลเป็นไทยง่ายๆคือส่วนนี้จะไม่นำไปใช้งานนั่นเอง

แล้ว comment จะมีไว้ทำไม? คำตอบคือ เอาไว้อธิบายการทำงานของ source code เพราะหลังจากที่เราไปทำ project อื่นหรือคนอื่นที่จะมาแก้ไข code เราเค้าต้องใช้ comment เพื่อทำความเข้าใจ source code

เวลาเขียน comment ให้พยายามอธิบายว่าทำไมเราถึงต้องเขียนแบบนี้(Why) อย่าพยายามเขียนอธิบายการทำงานของ code(What)

รูปแบบการเขียน Comment ใน PHP จะประกอบด้วย

Comment บรรทัดเดียว

เฉพาะข้อความที่อยู่หลัง // เท่านั้นที่ถูก comment

<?php
  // คำอธิบาย Source Code
  // Code หลังจาก เครื่องหมาย // นี้จะไม่ถูกประมวลผล
?>

Comment หลายบรรทัด

comment ทุกบรรทัดที่อยู่ระหว่างเครื่องหมาย /* …. */

<?php
  /*
    เราสามารถเขียนอธิบายอะไรยาวๆได้ใน block นี้
    Code ในส่วนนี้จะไม่ถูกประมวลผล
  */
?>

อย่า comment code ที่ไม่ได้ใช้แล้ว ถ้า code ไหนไม่ใช้แล้วควรจะลบทิ้งไปเลย ถ้ายังเสียดายให้นำไปเก็บไว้ใน gist หรือ wiki แทน

Case-Sensitive

PHP เป็นภาษาที่เรียกว่า Case-Sensitive หมายความว่า ตัวอักษร A และ a มีความหมายต่างกัน เพราะฉะนั้นคนที่เริ่มต้นเขียนต้องระวังเรื่องของความถูกต้องของตัวอักษรด้วย

<!DOCTYPE html>
<html>
<body>

<?php
  $color = "red";
  echo "My car is " . $color . "<br>";
  echo "My house is " . $COLOR . "<br>";
  echo "My boat is " . $coLOR . "<br>";
?>

</body>
</html>

ผลลัพธ์จะออกมาเป็นแบบนี้

My car is red
My house is 
My boat is 

ในตัวอย่างนี้เราจะได้ผลลัพธ์เพียงแค่บรรทัดแรกเท่านั้นเนื่องจาก $color เป็นตัวเล็กทั้งหมด แต่ใน Code บรรทัดที่ 8 ใช้ $COLOR ที่เป็นตัวใหญ่ทั้งหมด รวมทั้ง $coLOR ในบรรทัดที่ 9 จะไม่ได้แสดงผลลัพธ์ออกมาเนื่องจากเป็นคนละตัวแปร และเรายังไม่ได้กำหนดค่าให้กับตัวแปร $coLOR และ $COLOR

อ่านบทความเกี่ยวกับ PHP ต่อได้ที่นี่

Phanupong Permpimol
Follow me