PHP: Setup public โฟลเดอร์ ตอนที่ 4/4

ในตอนที่ผ่านมา เราพึ่งจะจำลอง local host ขึ้นมาใช้งาน สำหรับตอนนี้ เราจะมาทำความรู้จักกับ front controller กันค่ะ

 

Front controller คืออะไร?

 Front controller เป็น Design Pattern ชนิดหนึ่ง สำหรับ web application นั้น เราใช้ front controller เป็นศูนย์กลางในการจัดการกับ request ทั้งหมดที่จะเข้ามาในเว็บไซต์ของเรา

 

หากเรามีโครงสร้างของเว็บเป็นดังนี้ (MVC design pattern)

PHP-start-with-php-4-1

ภาพที่ 1 โครงสร้างเว็บ

 

โฟลเดอร์ public เป็นโฟลเดอร์เดียวที่เราจะอนุญาตให้มีการเข้าถึงจากภายนอกได้ ซึ่งก็คือ ไฟล์ index.php นั้นเอง

 

โค้ดภายในไฟล์ index.php ก็จะมีการกำหนดรูปแบบ URL ที่เราต้องการ และรับ request เข้ามา เพื่อส่งต่อไปให้ Router ทำการจับคู่ URL ของเราเข้ากับคลาสต่าง ๆ และเรียกใช้เมธอด ได้อย่างถูกต้อง

 

หลังจากปูพื้นฐานเรื่อง OOP แล้ว เราจะลงลึกในรายละเอียดของ MVC กันต่อไปในอนาคต

 

ตอนนี้ เรามาสร้างโฟลเดอร์ public ให้กับ localhost ของเรากันค่ะ

 

 

สร้าง public โฟลเดอร์

1. เข้าไปที่โฟลเดอร์ myweb ของเรา

PHP-start-with-php-4-2

ภาพที่ 2 แสดงไฟล์ index.php

 

2. สร้างโฟลเดอร์ชื่อ public ขึ้นมา

PHP-start-with-php-4-3

ภาพที่ 3 แสดงไฟล์เดอร์ public

 

3. ลากไฟล์ index.php ไปไว้ในโฟลเดอร์ public

PHP-start-with-php-4-4

ภาพที่ 4 ย้ายไฟล์ index.php ไปไว้ใน public โฟลเดอร์

 

4. เปิดไฟล์ index.php ขึ้นมา เพิ่มข้อความลงไปนิดหน่อย

PHP-start-with-php-4-5

ภาพที่ 5 เพิ่มข้อความในไฟล์ index.php

 

5. ในตอนนี้ หากเราดูผลลัพธ์ที่ web browser จะพบกับโฟลเดอร์ public อยู่ภายใน

PHP-start-with-php-4-6

ภาพที่ 6 แสดงโฟลเดอร์ public

 

6. หากคลิกเข้าไปใน public โฟลเดอร์ก็จะพบผลลัพธ์จากไฟล์ index.php ที่เราสั่งแสดงผลไว้ สังเกตว่า ตอนนี้ URL ของเรา มี public อยู่นะคะ

PHP-start-with-php-4-7

ภาพที่ 7 แสดง URL มี public

 

7. ในขั้นตอนต่อไป เราจะ set ให้ Apache รู้ว่า เมื่อเข้ามาที่เว็บ myweb.local เมื่อไร ให้เข้าไปที่ public โฟลเดอร์ทันที

 

 

Set public โฟลเดอร์ใน apache

1. ไปที่ไฟล์ httpd-vhost.conf

PHP-start-with-php-4-8

ภาพที่ 8 โค้ดในไฟล์ httpd-vhost.conf

 

2. เพิ่ม DocumentRoot ให้เข้าไปที่ public โฟลเดอร์

PHP-start-with-php-4-9

ภาพที่ 9 เพิ่ม /public

 

3. บันทึกไฟล์ให้เรียบร้อย หาก start Apache เอาไว้ ให้ stop และ start ขึ้นมาใหม่ คราวนี้หากเราไป refresh หน้าเว็บใหม่ ก็จะเข้าด้วย path: http://myweb.local/public/ ไม่ได้แล้ว

PHP-start-with-php-4-10

 ภาพที่ 10 แสดง Error 404

 

 

4. ให้ลบ URL public ออก และเข้าไปที่ myweb.local เราก็จะพบกับผลลัพธ์จากไฟล์ index.php ทันที ตามที่ set เอาไว้

PHP-start-with-php-4-11

ภาพที่ 11 URL: myweb.local

 

ความจริงแล้วการ set public โฟลเดอร์เราสามารถทำได้เลยจากขั้นตอนที่ผ่านมา แต่เราแยกหัวข้อนี้ออกมา เพราะอยากเข้าใจที่มาที่ไปของมัน และเป็นการปูพื้นฐานที่ดี ในการพัฒนาเว็บไซต์ต่อไปในอนาคต

 

มาถึงตอนนี้ เราก็พร้อมสำหรับการเริ่มต้นพัฒนาเว็บแล้วค่ะ แต่เราจะใช้เครื่องมืออะไรในการเขียนโค้ดดีนะ?  เราจะไปหาคำตอบนี้หัวข้อต่อไปค่ะ

 

 

Comments

comments

ธมนวรรณ มณีจันทร์

เป้าหมาย : "พัฒนาคุณภาพชีวิตผู้คน ผ่านการส่งมอบความรู้ ด้วยเทคโนโลยีที่ดีที่สุด" ... ประวัติ