yii2-framework

สอน Yii 2 : เริ่มต้นสร้าง View และ Controller

สอน Yii 2 : เริ่มต้นสร้าง View และ Controller



Yii เป็น PHP Framework ที่ค่อนข้างซับซ้อนครับ การทำงานในส่วนของ View ยังเต็มไปด้วย Syntax ของ
ภาษาพีเอชพี ถึงแม้ว่าเราอาจจะเลือกที่จะไม่ใช้ก็ตาม แต่ถ้าจะใช้ Yii ให้ได้เต็มความสามารถ ก็จำเป็นต้องมี
พื้นฐานภาษาพีเอชพีที่ดีพอสมควร และถ้าได้ทดลองใช้จนเข้าใจหลักการทำงานของ Yii แล้ว จะเข้าใจว่าไม่ได้ยากเลย


หลังจากในบทความที่แล้วเราได้ทำการติดตั้ง Yii 2 Framework ไปเรียบร้อยแล้ว ทั้งแบบผ่าน composer และ
ติดตั้งโดยใช้วิธีโหลดไฟล์ zip มาใช้งาน รวมไปถึงการตั้งค่าต่าง ๆ จนได้หน้า Default Page ของเฟรมเวิร์ค
ในบทความนี้เราจะมาทดสอบสร้าง View และ Controller โดยเป็นการสร้างขึ้นมาใหม่ทั้งหมด

เข้าใจ View ใน Yii เบื้องต้น

การทำงานส่วน view ซึ่งเป็นส่วนที่จะ render พวกไฟล์ html, css, js จะถูกเว็บไว้ในโฟลเด้อ views
โดยในโฟลเด้อ views จะประกอบไปด้วยโฟลเด้อ layouts และโฟลเด้อที่ตั้งตามชื่อ Controller ซึ่งเป็นกฏของ Yii



ตัวอย่างโครงสร้างของ View ใน Yii


สอน Yii Framework

  • โฟลเด้อ Layout
  • คือส่วนที่ไว้เก็บไฟล์โครงสร้างรูปร่างหลัก ๆ ของเว็บไซต์ เราสามารถสร้าง Layout หลาย ๆ แบบไว้ทำงานในรูปแบบที่แตกต่างกันออกไปได้

  • โฟลเด้อ site0,site1,site2
  • ตั้งชื่อโฟลเด้อตามชื่อ Controller เป็นส่วนที่ไว้เก็บ content ที่จะนำไปแสดงใน Layouts หรือในกรณีที่เราไม่ต้องการใช้งาน Layout ก็สามารถเขียนไฟล์ .php ไว้ในโฟลเด้อนี้ได้เลย ซึ่งต่อไปจะกลายเป็น Action Method ใน Controller


เริ่มสร้าง View และ Controller แบบไม่ใช้ Layout

ให้สร้างไฟล์ UserController และวางไว้ใน controller/UserController.php และสร้างโฟลเด้อ user
ตามชื่อของ UserController ใน views/user จากนั้นให้สร้างไฟล์ index.php วางไว้ในโฟลเด้อ user

ในไฟล์ controllers/UserController.php ให้เขียนโค๊ดดังนี้

  • actionIndex
  • ตั้งชื่อ Method ตามกฏของ Yii ขึ้นต้นด้วย action และตามด้วยชื่อไฟล์ใน view คือ index.php

  • $this->layout = false
  • ยกเลิกการใช้งานระบบ layout ของ Yii คือไฟล์ views/layouts/main.php รวมไปถึง layouts อื่น ๆ ด้วย สรุปคือไม่ใช้ระบบ layouts ของ Yii เลย

  • return $this->render(‘index’);
  • สั่ง render ไฟล์ index.php ที่อยู่ใน views/user/index.php คำสั่งเรนเดอร์ใน Yii เหมือนกับคำสั่ง view() ใน Laravel และ CI

ใน views/user/index.php ให้เขียนโค๊ดดังนี้

จากนั้นให้เข้าไปเปลี่ยนค่า defaultRoute ที่ไฟล์ vendor/yiisoft/yii2/web/Application.php ค่าเริ่มต้นของ Yii จะเป็น site ให้เปลี่ยนเป็น user ตามชื่อของ UserController ที่เราสร้างขึ้นมาใหม่

เสร็จแล้วให้ลองเปิดโปรเจคของเราผ่านเบราซ์เซอร์

ผลลัพธ์ที่ได้ก็จะได้ดังภาพด้านล่างครับ


สอน Yii Framework


หน้าตาออกมาดูไม่มีชีวิตชีวาเลยไช่ไหมครับ งั้นลองกลับไปใช้ main layouts ของ Yii ดูครับ วิธีใช้งานก็ไม่ยากครับ
ใช้โค๊ดชุดเดิม ให้ลบ $this->layout = true; ออกจากจาก UserController.php เขียนได้ดังนี้


controllers/UserController.php



และเขียนโค๊ดใน views/layouts/main.php ได้ดังนี้
views/layouts/main.php

ผลลัพธ์ที่ได้ก็จะทำให้เราสามารถใช้งาน Bootstrap Layout ที่ติดมากับ Yii2 ได้ เหตุผลเพราะในไฟล์ layout
คือ main.php มีการ include ไฟล์ assets ต่าง ๆ พวก css, js, มาใช้งานเรียบร้อยแล้วนั่นเองครับ
คำถามคือแล้วหน้า views/user/index.php มาแสดงได้อย่างไร คำตอบคือมาแสดงตรงบรรทัดนี้ครับ



ปล. เพิ่มเติมครับถ้าเราใช้งาน Layout ของ Yii จะเห็นว่าหน้าเว็บเราติด debug toolbar ของ Yii2 มา
วิธีเอาออกก็ให้เราไปเปลี่ยน YII_ENV_DEV ใน vendor/yiisoft/yii2/BaseYii.php จาก dev เป็น prodแค่นี้ debug toolbar ก็จะหายไปแล้วครับ

จบไว้เท่านี้สำหรับการสร้าง view และ controller รวมไปถึงการตั้งค่าพื้นฐานสำหรับ Yii2 เจอกันในบทความต่อไปครับ

Summary
สอน Yii 2 : เริ่มต้นสร้าง View และ Controller
Article Name
สอน Yii 2 : เริ่มต้นสร้าง View และ Controller
Description
Yii เป็น PHP Framework ที่ค่อนข้างซับซ้อนครับ การทำงานในส่วนของ View ยังเต็มไปด้วย Syntax ของ ภาษาพีเอชพี ถึงแม้ว่าเราอาจจะเลือกที่จะไม่ใช้ก็ตาม แต่ถ้าจะใช้ Yii ให้ได้เต็มความสามารถ ก็จำเป็นต้องมี พื้นฐานภาษาพีเอชพีที่ดีพอสมควร และถ้าได้ทดลองใช้จนเข้าใจหลักการทำงานของ Yii แล้ว จะเข้าใจว่าไม่ได้ยากเลย
Author
Publisher Name
บริษัท โค๊ดบี จำกัด
Publisher Logo

กระทู้ใกล้เคียง

สอน Yii 2 : ใช้งาน Model ร่วมกับ View และ Controll... สอน Yii 2 : ใช้งาน Model ร่วมกับ View และ Controller หน้าที่หลักของ models คือการจัดการกับชุดข้อมูลต่าง ๆ ภายในเว็บไซต์ จากนั้นก็รอรับคำสั่งให้จากส...
สอน Yii 2 : ดาวน์โหลด ติดตั้งและสร้างโปรเจค... สอน Yii 2 Framework : ดาวน์โหลด ติดตั้งและสร้างโปรเจค Yii 2 Framework ย่อมาจากคำว่า "Yes It Is" เป็นอีกหนึ่ง PHP MVC Framework ที่ได้รับความนิยม ไ...
สอน Yii 2 : ใช้งาน assets ไฟล์ JS CSS และ fonts... สอน Yii 2 : ใช้งาน assets ไฟล์ JS CSS และ fonts หลาย ๆ บทความที่ผ่านมา เราได้ทำความเข้าใจการทำงานของ Yii2 โดยเน้นให้เข้าใจโครงสร้างการทำงานโดยรวม ...
สอน Yii 2 : ติดต่อฐานข้อมูล MySQL และ Insert ข้อมู... สอน Yii 2 : ติดต่อฐานข้อมูล MySQL และ Insert ข้อมูล การเชื่อมต่อฐานข้อมูลและการ Query ข้อมูลสำหรับ Yii Framework ค่อนข้างจะสะดวกสบายครับ เราสามารถส...

Comments

comments