ตัวอย่างที่ 3ในตัวอย่างนี้จะทำการเพิ่ม Routing โดยยังเรียกใช้งานของ Controller ของตัวอย่างที่เเล้วการสร้างเเละกำหนด Routing
โดย จะกำหนด path ให้รับค่า /page/{id}-{title}.{form} ส่วนนี้ /page คือ url ที่จำเป็นต้องใส่ให้ถูก
ส่วน {id} คือ สั่งเกตุในส่วนของ

requirements:
        id: \d 

ส่วนนี้จะต้องเป็นตัวเลขเท่านั้น จะต่างกับตัวอย่างใน การสร้างเเละกำหนด Routing ตามด้วย - {title} คืออักษรหรือตัวเลขอะไรก็ได้
.{form} สังเกตุที่

  requirements:
id: \d
form: html|php

ตรงนี้เราจะบังคับให้ใส่ form ได้ เพียง html หรือ php เท่านั้น เท่านี้ยังไม่พอดูในส่วนของ

    defaults: { _controller: SitetestBundle:Default:page,form:html }

form:html คือการระบุค่า Default เข้าไปด้วยในกรณีที่ไม่ได้พิมพ์เข้าไปใน Url ป้องกันไม่ให้ Error

Bundle Controller Class Method Name
TestBundle DefaultController page


routing.yml

sitetest_homepage:
    path:     /hello
    defaults: { _controller: SitetestBundle:Default:index }
block_homepage:
    path:     /block/{name}
    defaults: { _controller: SitetestBundle:Default:block }
page_block:
    path:     /page/{id}-{title}.{form}
    defaults: { _controller: SitetestBundle:Default:page,form:html }
    requirements:
        id: \d
        form:   html|php

DefaultController.php

<?php

namespace Site\testBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller
{
    public function pageAction($id,$title,$form)
    {
        return $this->render('SitetestBundle:Default:index.html.twig',
                array(
                    'id'        => $id,
                    'title'     => $title,
                    'form'      => $form,
                ));
    }
}

index.html.twig

id = {{ id }} <br>
title = {{ title }} <br>
form = {{ form }} 

เมื่อทำการ Run ผลลัพท์คือ แบบระบุ {form}

แบบไม่ระบุ {form} จะใช้ค่า Default คือ form:html

ส่วนรายละเอียด Code ในส่วนของ Controller เเละ twig จะอธิบายในบทเรียนถัดไป

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีเปิด ssh ใน vmware exsi 5 ทำอย่างไร ssh open port vmware
โดย mindphp อ 05 พ.ย. 2023 5:07 pm บอร์ด Linux - Web Server
0
1149
อ 05 พ.ย. 2023 5:07 pm โดย mindphp View Topic วิธีเปิด ssh ใน vmware exsi 5 ทำอย่างไร ssh open port vmware
สเปกเซิร์ฟเวอร์สำหรับ Joomla เวอร์ชั่นต่างๆ ตั้งแต่ 1.5, 2.5, 3.x, 4.x, 5.x ไว้สำหรับเลือก Host ให้ตรงเวอร์ชั่นที่เราใช้
โดย mindphp ส 04 พ.ย. 2023 5:32 am บอร์ด Joomla Developing Knowledge
2
417
ส 04 พ.ย. 2023 11:54 am โดย mindphp View Topic สเปกเซิร์ฟเวอร์สำหรับ Joomla เวอร์ชั่นต่างๆ ตั้งแต่ 1.5, 2.5, 3.x, 4.x, 5.x ไว้สำหรับเลือก Host ให้ตรงเวอร์ชั่นที่เราใช้
สอบถามต้องการลบไฟล์ที่มาจาก URL ต้องทำอย่างไร
โดย eange08 ศ 03 พ.ย. 2023 4:33 pm บอร์ด Programming - PHP
5
826
ส 04 พ.ย. 2023 5:33 pm โดย eange08 View Topic สอบถามต้องการลบไฟล์ที่มาจาก URL ต้องทำอย่างไร
ความสำคัญของการดูแลแบตเตอรี่
โดย GreatBattery ศ 03 พ.ย. 2023 3:48 pm บอร์ด Share Knowledge
0
385
ศ 03 พ.ย. 2023 3:48 pm โดย GreatBattery View Topic ความสำคัญของการดูแลแบตเตอรี่
สอบถามวิธีเช็คไฟล์เรียกด้วย URL ว่ามีหรือไม่
โดย eange08 ศ 03 พ.ย. 2023 3:00 pm บอร์ด Programming - PHP
1
593
ศ 03 พ.ย. 2023 3:43 pm โดย eange08 View Topic สอบถามวิธีเช็คไฟล์เรียกด้วย URL ว่ามีหรือไม่
สอบถามการสืบทอดคลาส JFormFieldList ของ Joomla 4 กับ joomla 5
โดย Thanapoom1514 ศ 03 พ.ย. 2023 1:52 pm บอร์ด Joomla Development
2
1275
อ 12 พ.ย. 2023 6:38 am โดย mindphp View Topic สอบถามการสืบทอดคลาส JFormFieldList ของ Joomla 4 กับ joomla 5
เช็ก ราคาไอโฟน 15 สมาร์ทโฟนเรือธงใหม่ พร้อมเผยสเปกแต่ละรุ่น
โดย asider8629 ศ 03 พ.ย. 2023 1:11 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
527
ศ 03 พ.ย. 2023 1:11 pm โดย asider8629 View Topic เช็ก ราคาไอโฟน 15 สมาร์ทโฟนเรือธงใหม่ พร้อมเผยสเปกแต่ละรุ่น
Joomla บนโฮสติ้ง
โดย Anonymous ศ 03 พ.ย. 2023 11:52 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
495
ศ 03 พ.ย. 2023 11:52 am โดย บุคคลทั่วไป View Topic Joomla บนโฮสติ้ง