ตัวอย่างที่ 2ในตัวอย่างนี้จะทำการเพิ่ม Routing โดยยังเรียกใช้งานของ Controller ของตัวอย่างที่เเล้วการสร้างเเละกำหนด Routing
โดยจะกำหนด path ให้รับค่า /block/{name} ส่วนนี้ /block คือ url ที่จำเป็นต้องใส่ให้ถูก ส่วน {name} คือตัวเลขตัวอักษรอะไรก็ได้ที่จะส่งให้ Controller รับค่าเเล้วไปแสดงที่ Template เเละตรง Defults ให้ระบุชื่อ ไปยัง Method ที่ให้ทำงาน
Bundle | Controller Class | Method Name |
TestBundle | DefaultController | block |
routing.yml
sitetest_homepage:
path: /hello
defaults: { _controller: SitetestBundle:Default:index }
block_homepage:
path: /block/{name}
defaults: { _controller: SitetestBundle:Default:block }
DefaultController.php
<?php
namespace Site\testBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction()
{
echo 'ok'; exit;
}
public function blockAction($name)
{
return $this->render('SitetestBundle:Default:index.html.twig', array('name' => $name));
}
}
index.html.twig
Hello {{ name }}!
ข้อความหรือโครงสร้างในไฟล์ นี้ก็คือ html + syntax -ของ wtig
เมื่อทำการ Run ผลลัพท์คือ
ส่วนรายละเอียด Code ในส่วนของ Controller เเละ twig จะอธิบายในบทเรียนถัดไป