มาเล่น Laravel กัน – ตอนที่ 3: Routing

ต่อจาก:
ตอนที่ 1: Installation
ตอนที่ 2: Test-driven development

จากตอนล่าสุดเรามีปัญหาว่า Test fail อยู่ใช่มั้ยครับ โดยเนื้อหาที่เรา test จะเป็นประมาณนี้

ไฟล์ app/tests/ExampleTest.php

public function testGamePage()
{
    $crawler = $this->client->request('GET', '/game');
 
    $this->assertTrue($this->client->getResponse()->isOk());
}

สิ่งที่เราเขียนไปคือการทดสอบว่าถ้ามาการส่ง Reqeust แบบ GET Method ไปยัง URL /game จะต้องมี Response OK กลับมา (Response code 200)

ดังนั้นถ้าเราจะทำให้ test ผ่านเราก็ทำการ implement /game นั่นเอง ให้เปิดไฟล์ app/routes.php แล้วเพิ่ม code ดังนี้

Route::get('/game', function()
{
    return 'This is game page.';
});

พอ save ไฟล์ปุ๊บกลับไป test จะเห็นว่าผ่านแล้ว

สิ่งที่เราเขียนไปคือการ implement /game นั่นเอง ว่าถ้ามี request แบบ GET Method เข้ามาให้คืนข้อความว่า “This is game page.” กลับไป

Screen Shot 2014-06-23 at 12.08.51 PM

หากเราลองเปิด URL นี้ไป Web Browser ก็จะได้ผลลัพท์ตามภาพ

Screen Shot 2014-06-23 at 12.17.29 PM

ตอนต่อไปเราจะทำการ refactoring มันซะหน่อย เพราะลองคิดดูว่าถ้าเรามี URL เยอะขึ้นๆ ไฟล์ app/routes.php คงจะยาวเหยียดเป็นแน่แท้ และแน่นอนเราไม่กลัวที่จะต้อง refactoring มัน เพราะว่าเราใช้ TDD นั่นเอง

Leave a Reply

Your email address will not be published. Required fields are marked *