PHP ตอนที่ 1 หลักการทำงานและพื้นฐานที่ควรรู้

ก่อนที่คุณจะไปเรียนรู้เกี่ยวกับว่า PHP คืออะไร ในบทความนี้ผมจะพยายามปูพื้นฐานของคุณผู้อ่านให้มากที่สุดเท่าที่จะทำได้นะครับ หากมีคำถามสงสัยอย่าลืม comment ถามหรือส่ง inbox ในเพจก็ทำได้นะครับถ้าตอบได้จะตอบให้ครับ

ตอนนี้คุณกำลังอยู่ที่ PHP

php overview
php overview

เข้าใจก่อนว่าเว็บมันทำงานอย่างไร ?

ก่อนที่คุณจะเริ่มไปเขียนโปรแกรมภาษา PHP ผมอยากให้คุณทำความเข้าใจตรงนี้กันก่อนเลยว่าเจ้าภาษา PHP นั้นมันต้องมีการ set up computer ของเราให้พร้อมสำหรับการเขียน PHP ครับและความเข้าใจเกี่ยวกับเรื่อง set up ด้วยครับ

PHP เป็นภาษาของ web server อย่างแรกที่ควรรู้ไว้ก่อนเลยว่าเจ้า PHP เป็นภาษาโปรแกรมมิ่งสำหรับฝั่ง web server หรือ backend เวลาเราเปิดเว็บไซต์ที่มันมี .php ในบางครั้งคุณอาจจะเจอ แต่จริงๆแล้วมันสามารถทำให้ไม่เห็นก็ได้ครับ แต่ ณ ตอนนี้ที่คุณอ่านบทความนี้ให้เข้าใจก่อนว่าไฟล์ .php นั้นก็คือเจ้าภาษา PHP นั่นแหละ

แล้ว web server คืออะไร ? ก่อนจะไปรู้จักคำนี้อยากให้ดูตัวอย่างนี้ก่อนครับ สมมติว่าบ้านเรามี computer 2 เครื่องแล้วกัน แล้วเราก็ต่อสายแลนให้ computer ทั้งสองเครื่องรู้จักกัน ( tip: computer จะติตด่อกันได้ต้องรู้จักด้วยกัน IP เปรียบเสมือนที่อยู่บ้านประมาณนั้น ) คราวนี้สมมติเครื่อง A, B นะครับจะได้เรียกง่ายๆ โดยเครื่อง A ต้องการเปิดไฟล์ index.php จาก Browser ก็ทำการพิมพ์ IP เครื่อง B แล้วตามด้วยชื่อไฟล์ หน้าตามันจะประมาณนี้ครับ

http://192.168.1.112/index.php

จากตัวอย่างข้างบนเครื่อง B จะต้องลง Program เป็น Web server และเครื่อง A จะเป็น Client พวกศัพท์พวกนี้อย่าเพิ่งไปใส่ใจแต่ฟังไว้ก่อนนะครับ และในเครื่อง B ก็จะทำการเปิดไฟล์ index.php แล้วอ่านค่าในไฟล์เสร็จแล้วส่งไปให้เครื่อง A

php-web-concept-01
web server php

อธิบายเพิ่มเติมสำหรับภาพด้านบนครับ ให้คุณมองว่าจริงๆแล้ว web server มันก็คือ program 1 ตัวในเครื่องของคุณนั่นแหละเหมือนกับ 1 app ก็ได้ถ้าคุณจะมองเป็นแบบมือถือซึ่งมันก็จะทำงานตามหน้าที่ของ program นั้นๆอย่าง web server ก็ทำให้ computer ของเราสามารถติดต่อด้วยการเปิดเว็บไซต์ได้ทำนองนั้น สมมติถ้าเราไม่ลง PHP ในตัว Web server มันก็จะไม่สามารถอ่านไฟล์ php ได้นั่นแหละ ก็เลยต้อง install php ให้เจ้าตัว web server มีความสามารถในการอ่านไฟล์ .php ได้ครับ

ส่วนเรื่อง IP และ Domain name อธิบายแบบง่ายๆคือ IP ( Internet Protocal ) ชุดเลขที่อยู่เหมือนที่อยู่บ้านซึ่งจะไม่มีทางซ้ำกันใน internet ซึ่งมันจะจำยากมาก อย่างที่คุณเห็นมันจะเป็นชุดเลข 4 ชุด โลกเลยทำให้เกิด ชื่อเรียกง่ายๆ เช่น oxygenyoyo.com, ded-d.com, pantip.com เหล่านี้คือ domain name ถ้ามองก็เหมือนชื่อเล่นให้จำง่าย แล้วทำการผูกติดกับชุดเลขนี้ไปจะได้จำได้ ยกตัวอย่างเช่น ถ้าคุณพิมพ์ oxygenyoyo.com ใน Browser ของคุณมันก็จะไปหาว่าชุดเลขที่ผูกกับชื่อนี้คืออะไรแล้วทำการติดต่อไปที่หมายเลข IP นั้นครับ

คราวนี้จะเห็นว่าภาษา PHP นั้นจะทำงานในลักษณะที่มี computer 2 เครื่องติดต่อกันทำตัวเป็น web server ค่อนแปลงไฟล์ .php ให้อ่านได้แล้วส่งค่ากลับไปหาพวก client ต่างๆที่มาต่อกับเครื่อง B เข้ามาครับ

หลักการทำงานของเว็บไซต์ก็คล้ายๆกับตัวอย่างเลยครับ เราเรียกหาไฟล์จาก Web server แล้วทางเครื่อง computer ที่เราติดต่อไปก็จะทำการส่งไฟล์นั้นกลับมาที่เครื่องเรา คราวนี้ก็จะเกิดคำถามว่า ถ้าเราจะเขียน PHP จำเป็นต้องมี computer 2 เครื่องไหม ? คำตอบคือ ไม่จำเป็นครับ เพราะว่าในปัจจุบันเราได้มีเครื่องมือ จำลองเครื่องของเราเป็น web server ในตัวเองครับ ก็เหมือนกับคุณมีทั้งเครื่อง A และ B อยู่ในเครื่องเดียวกันครับประมาณนั้น

โปรแกรมจำลองเป็น Web server

หลังจากเราได้รู้แล้วว่า PHP เป็นภาษาที่เขียนฝั่ง web server คราวนี้เราต้อง set up ให้เครื่องเราเป็นเว็บ web server ก่อนโดยในบทความนี้จะไม่สอนวิธีติดตั้งนะครับ ให้คุณไปอ่านวิธีติดตั้งที่นี่ได้เลย

ถ้าคุณใช้ mac ไปอ่านที่ link นี้ได้เลย

ถ้าคุณใช้ window ดูคลิปนี้เลย

PHP: Hello World

แน่นอนว่าเรามาลองเรียนรู้การเขียน คำสั่งแรกกันครับ โดยถ้าหากคุณเป็นเครื่อง mac ให้ไปดูที่ folter Application > MAMP > htdocs ( ถ้าเป็น window จะอยู่ใน C:/xampp/htdocs ) ภายใน folder นี้จะเหมือนกับเว็บของคุณ 1 เว็บครับ ถ้าหากคุณสร้าง folder เป็น mywebsite แล้วสร้างไฟล์ชื่อว่า index.php

ในไฟล์ index.php เราจะเขียน code อย่างนี้ครับ

<?php 
  echo 'Hello World';
?>

เสร็จแล้วก็กด save ครับ ถ้าคุณเข้า localhost ตามด้วย port แล้ว /mywebsite/index.php คุณจะได้เห็นผลลัพธ์คือมีคำว่า Hello World อยู่ที่หน้าจอครับ ถ้าคุณเป็น window ก็เข้าตาม link นี้เลยครับ

http://localhost/mywebsite/index.php

ถ้าเป็นของ ios ที่ใช้ MAMP ให้คุณเข้าไปที่

http://localhost:8888/mywebsite/index.php

ถ้าติดตรงนี้ไม่แบบเข้าแล้วไม่เจอก็ comment มาบอกนะครับ

จากตัวอย่าง Hello World เราได้เรียนรู้อะไร ? จริงๆแล้วกว่าเราจะได้เขียน PHP แค่ให้มันแสดงคำว่า Hello World มันต้อง set up หลายสิ่งเลยทีเดียว ซึ่งในปัจจุบันมันก็ไม่ได้ยาก แต่สมัยก่อนคือยากจริง ใจเย็นๆก่อนเดี๋ยวผมจะค่อยๆอธิบาย ตอนนี้คุณอาจจะสับสนว่าพวก localhost อะไรพวกเนี้ยคืออะไร

จากที่อธิบายเรื่องเกี่ยวกับ IP และ domain name เวลาที่เราทดสอบในเครื่องจะมี ip ที่ตายตัวเลยคือ 127.0.0.1 มันหมายถึงเรียกเครื่องตัวเอง แล้วชื่อว่า localhost ก็เป็น domain name ที่ผูกกับชุดเลข 127.0.0.1 นั่นเองครับ

แถมอีกนิด port default ของเว็บไซต์คือ 80 ในความเป็นจริงคุณต้องพิมพ์ oxygenyoyo.com:80 แต่อย่างที่บอกว่าเขากำหนดมาตราฐานมาแล้วทำให้มันไม่ต้องใส่แบบนั้นเขาจะใส่ให้เสมอเลยไม่แสดง ส่วนบางคนอาจจะสงสัยว่าแล้วใน mac มันเป็น port 8888 อ่ะครับ คุณสามารถปรับให้เป็น 80 ได้เช่นกันครับ แต่ตัว program มันพยายามเลี่ยงให้เพราะไม่อยากให้ port มันไปซ้ำมันจะเปิดไม่ขึ้นครับ ถ้าคุณไม่มี program อะไรที่ใช้ port นั้นอยู่แล้วละก็ลองปรับดูแล้วอย่าลืม restart server ด้วยนะครับ

เริ่มต้น PHP ซักที

หลังจากเราปูพื้นฐานไปแล้ว คุณผู้อ่านอาจจะแบบเฮ้ย ! เพิ่งจะได้เรียนรู้ PHP จริงๆตรงนี้เลยตอบเลยว่า ใช่ครับ :) เพราะถ้าผมไม่บอกพื้นฐานเลยคุณอาจจะงงว่า ทำไมฉันต้องลง program พวกนั้นด้วยแล้วทำไมถึงเรียก localhost/index.php ได้เลยเลยจำเป็นต้องมีการปูพื้นฐานให้คุณก่อนครับ

คราวนี้สิ่งที่ต้องรู้เบื้องต้นสำหรับการเขียน PHP คือการเปิดปิด tag ครับเวลาที่เราจะเขียน PHP เราต้องเปิดปิด tag php เสมอครับแบบนี้

<?php 
 // code php ......
?>

ซึ่งไฟล์ที่เราจะเขียนก็คือไฟล์ .php นั่นเองครับ

สรุป

  • เราได้เรียนรู้เกี่ยวกับ web server คืออะไร
  • ip และ domain name คืออะไร
  • การ set up program สำหรับให้พร้อมเขียน php
  • hello world

ถ้าใครเพิ่งเข้ามาก็อย่าลืม comment ไว้ในสิ่งที่สงสัยหรือถามมาที่เพจก็ได้นะครับ อย่างไรก็ดีตอนนี้มันเป็นจุดเริ่มต้นของการเขียนเว็บไซต์ของคุณ อย่าเพิ่งท้อเพราะถ้าหากคุณเริ่มทำมาถึงจุดนี้ได้แล้วต่อๆไปก็จะทำได้ดีขึ้นอย่างแน่นอนครับ

บทหน้าเราจะมาเรียนรู้เกี่ยวกับตัวแปรต่างๆ และการเขียนคำสั่งในการวนลูปและเช็คเงื่อนไขกันครับ

credit

กลับไปหน้าสารบัญ

https://oxygenyoyo.com/2021/01/18/index-getting-started-code-website/

Loading

เป็นโปรแกรมเมอร์ที่ตามหาคุณค่าของชีวิตและความฝันในวัยเด็ก ชอบเล่นเกม เรียนรู้ทุกอย่าง ชอบเจอคนใหม่ๆ งานสังคมทุกชนิด ออกกำลังกายในวันว่าง อ่านหนังสือ มีเว็บรีวิวหนังสือด้วย www.readraide.in.th