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>
เอาต์พุต
รหัสจะสร้างหน้าจอผลลัพธ์ต่อไปนี้ -