Phalcon - มุมมอง

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

โดยเฉพาะใน Phalcon มุมมองประกอบด้วย Volt code, PHP และ HTML มีชุดตัวคั่นพิเศษเพื่อเข้าสู่โหมดโวลต์{% ... %} ใช้เพื่อดำเนินการคำสั่งเช่น for-loops หรือกำหนดค่าและ {{ ... }} พิมพ์ผลลัพธ์ของนิพจน์ไปยังเทมเพลต

มุมมองใน Phalcon โดยทั่วไปแบ่งออกเป็นสองประเภท -

  • Volt
  • phtml

โวลต์

ต่อไปนี้เป็นภาพหน้าจอของผลลัพธ์ที่เราสร้างขึ้นสำหรับโครงการ demo1 ในบทก่อนหน้า

ผลลัพธ์นี้ทำได้ด้วยความช่วยเหลือของไฟล์ views/index/index.volt.

คุณสมบัติของไฟล์โวลต์

  • เป็นเทมเพลตที่เขียนด้วยภาษาซีและรวดเร็วมากเมื่อเทียบกับภาษาอื่น ๆ

  • ประกอบด้วยชุดส่วนประกอบที่รวมเข้าด้วยกันซึ่งเป็นประโยชน์อย่างมากใน Phalcon

  • นอกจากนี้ยังสามารถใช้เป็นส่วนประกอบแบบสแตนด์อะโลน

  • โวลต์ถูกคอมไพล์เป็นโค้ด PHP แท้

ต่อไปนี้เป็นรหัสสำหรับ index.volt ซึ่งโหลดโดยค่าเริ่มต้นสำหรับโครงการใด ๆ

<!--<div class = "page-header"> 
   <h1>Congratulations!</h1> 
</div>--> 

<p>This is my first web application in Phalcon </p> 
<!--<p>You're now flying with Phalcon. Great things are about to happen!</p>

<p>This page is located at <code>views/index/index.volt</code></p>-->

การแสดงผลตามลำดับชั้น

มุมมองใน Phalcon สนับสนุนการแสดงผลแบบลำดับชั้นและ Phalcon\Mvc\Viewใช้เป็นองค์ประกอบการเรนเดอร์เริ่มต้น ส่วนประกอบนี้ใช้ PHP เป็นเครื่องมือแม่แบบเมื่อเทียบกับไฟล์โวลต์ซึ่งใช้ภาษา C เป็นภาษาแม่แบบ

มุมมองเหล่านี้ควรมี .phtmlส่วนขยาย. ไดเร็กทอรีเริ่มต้นของมุมมองสำหรับโปรเจ็กต์ที่กำหนดประกอบด้วยไฟล์สามไฟล์ต่อไปนี้ -

  • Action view- มุมมองนี้เรียกว่าเพื่อดำเนินการบางอย่าง เรียกเมื่อดำเนินการ "แสดง"

  • Controller layout- มุมมองนี้แสดงอยู่ภายในโฟลเดอร์เลย์เอาต์ ตัวอย่างเช่น,C:\xampp\htdocs\demo\app\views\layouts. เรียกใช้การเรียกเมธอดที่เกี่ยวข้องกับคอนโทรลเลอร์ที่เหมาะสม โค้ดที่ใช้ในเค้าโครงจะถูกนำไปใช้เมื่อจำเป็น

  • Main layout - มุมมองเค้าโครงนี้จะเรียกใช้การดำเนินการหลักและจะแสดงสำหรับทุกคอนโทรลเลอร์หรือการดำเนินการภายในเว็บแอปพลิเคชัน

ความแตกต่างระหว่างไฟล์. volt และ. phtml

.volt .phtml
ใช้นามสกุล. volt เมื่อเครื่องมือแม่แบบที่ตั้งค่าในแอปพลิเคชันเขียนด้วยภาษา C .phtml ถูกใช้เมื่อเอ็นจิ้นเทมเพลตคือ PHP เอง
สามารถใช้เป็นส่วนประกอบแบบสแตนด์อโลน ไม่สามารถใช้เป็นส่วนประกอบแบบสแตนด์อะโลนได้
มุมมองโวลต์ถูกรวบรวมเป็นโค้ด PHP ไฟล์ phtml นั้นมีโค้ด PHP ดังนั้นจึงไม่จำเป็นต้องรวบรวมในเฟรมเวิร์ก Phalcon

ตัวแปร

ตัวแปรถูกกำหนดและเปลี่ยนแปลงในเทมเพลตโดยใช้ 'set'

การประกาศอาร์เรย์

{% set fruits = ['Apple', 'Banana', 'Orange'] %}

การประกาศสตริง

{% set name = ”John Kennedy” %}

ความคิดเห็น

อาจเพิ่มความคิดเห็นลงในเทมเพลตโดยใช้ไฟล์ {# ... #}ตัวคั่น ข้อความทั้งหมดในนั้นจะถูกละเว้นในผลลัพธ์สุดท้าย

{# note: this is a comment 
   {% set price = 100; %} 
#}

ตัวอย่าง

{% set fruits = ['Apple', 'Banana', 'Orange'] %} 

<h1>Fruits</h1> 

<ul> 
   {% for fruit in fruits %} 
   <li>{{ fruit|e }}</li> 
   {% endfor %} 
</ul>  

{% set robots = ['Voltron', 'Astro Boy', 'Terminator', 'C3PO'] %}  

<ul> 
   {% for robot in robots %} 
   <li>{{ robot }}</li> 
   {% endfor %} 
</ul>

เอาต์พุต

รหัสจะสร้างหน้าจอผลลัพธ์ต่อไปนี้ -