มาเล่น 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()); }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 ผ่านเราก็ทำการ…

มาเล่น Laravel กัน – ตอนที่ 2: Test-driven development

ต่อจาก ตอนที่ 1: Installation เราจะเริ่มเขียนโปรแกรมกับ Laravel กันแล้ว และเราก็จะเขียนแบบ TDD ด้วย คือเขียน Test ก่อน แล้วค่อยเขียน Code เพื่อให้ Test ผ่าน โดย default แล้ว Laravel จะใช้ PHPUnit เป็น Unit Testing Framework โดยใน Laravel project จะมีไฟล์ phpunit.xml เตรียมมาให้ และ Test จะอยู่ใน app/tests โดยจะมีตัวอย่างไฟล์ชื่อ app/tests/ExampleTest.php มาให้ แล้วเราจะ TDD กับ Laravel ยังไง? ว่าแล้วก็ลุยกันเลย 1. Install PHPUnit: ใช้คำสั่งดังต่อไปนี้ $ composer global require…

มาเล่น Laravel กัน – ตอนที่ 1: Installation

สืบเนื่องจากเห็นพี่รูฟกับน้องรุ่งเล่น Silex กัน ผมก็เลยหาอะไรมาเล่นบ้าง (จะใช้กับงานจริงด้วย) หวยมาออกที่เจ้า Laravel  แนะนำสั้นๆ Laravel เป็น PHP Framework ตัวหนึ่งที่พัฒนามาตั้งแต่ปี 2011 (ปัจจุบัน version 4.X) Laravel มี slogan ว่า “The PHP framework for web artisans” โดย Laravel นั้นถูกสร้างขึ้นจาก components หลายตัวของ Symfony2 แต่ออกแบบเพื่อให้การพัฒนาได้ง่ายกว่า Symfony2 ว่าแล้วก็ลุยกันเลย Note: บันทึกทุกอย่างทำอยู่บน Mac OS X 10.7.5 (Lion) โดยเริ่มตั้งแต่ศูนย์ 1. Install MacPorts: เอาไว้ช่วย install prerequisites อื่นๆได้ง่าย ให้ download ไฟล์ installer จาก http://www.macports.org/install.php#pkg แล้ว…

9 ขั้นตอนในการ Install Apache, PHP, MySQL บน Mac OS X 10.6 (Show Leopard)

ต้องยอมรับว่าผมไม่เคยใช้ Mac พัฒนาเว็บเลย ส่วนใหญ่จะเป็น iPhone เสียมากกว่า แต่ไหนๆหลังๆก็ใช้ชีวิตอยู่กับ Mac มากขึ้น เลยลองพัฒนาเว็บบน Mac บ้างดีกว่่า ขั้นตอนก็คล้ายๆกับ Linux เพราะ Mac OS นั้นเป็น Unix นั่นเอง 1. Start Apache sudo apachectl startsudo apachectl start 2. Test Apache http://localhosthttp://localhost 3. Enable PHP แก้ไฟล์ /etc/apache2/httpd.conf (แก้ด้วย VI ก็ได้) ให้ uncomment php module ดังข้างล่าง LoadModule php5_module libexec/apache2/libphp5.soLoadModule php5_module libexec/apache2/libphp5.so 4. Restart Apache sudo apachectl…

บันทึกการย้าย Web Hosting ครั้งยิ่งใหญ่ที่สุดในชีวิต

สองสามวันมานี้อดหลับอดนอนเพราะเรื่องการย้าย Web Hosting นี่แหละครับ ขอจดไว้หน่อยว่าทำอะไรไปบ้าง (ผม admin มือสมัครเล่นครับ) – ถ้าเว็บมี maintenance mode จงเปิดมันก่อนเลย – เปลี่ยน NAME SERVER ทันที เพราะบางที DNS มันก็อัพเดทกันช้าเหลือเกิน – การ load dump ของ MySQL นั้น ถ้าไม่ใหญ่มากก็ใช้ phpMyAdmin ได้ แต่ถ้าใหญ่มากๆควรใข้ BigDump แทน หรือถ้าจะเอาเป็นเรื่องเป็นราวเลยก็ต้อง MySQLDumper – เรื่องภาษาไทย ที่ไม่ว่า Programmer/Developer รุ่นไหนๆก็ต้องเจอ ฮา… ถ้า default charset ของ mysql (ซึ่งส่วนมากจะเป็น utf8) ไม่ได้เป็นตัวเดียวกับที่เราใช้ก็ต้องเพิ่ม code นี้ mysql_query(“SET NAMES tis620”,…

ปัญหาภาษาไทย TIS-620 กับ AJAX

พอดีเมื่อวานนี้มีเพื่อนถามมาทาง MSN ว่าเว็บมีปัญหาใช้ภาษาไทยกับ AJAX ไม่ได้ คือส่งภาษาไทยไปแล้ว อ่านไม่ออกใน MySQL ส่วนตัวนั้นมีประสบการณ์เกี่ยวกับปัญหาภาษาไทยมาบ้าง ถึงจะไม่มาก แต่ก็พอจะมั่นใจได้ว่า AJAX ไม่น่ามีปัญหากับภาษาไทย แต่มันไม่ใช่กับกรณีนี้ มาดูกันที่ส่วนประกอบต่างๆกันก่อน Web Page (TIS-620) + AJAX (TIS-620) <–> PHP(TIS-620) <–> MySQL (TIS-620) ดูๆจากข้างต้นก็ไม่น่าจะมีปัญหาอะไร อย่างแรกผมเอา FireBug จับ XHR ดูก่อนเลย เป็น HTTP Post และพบว่าอ่านไทยไม่ออกครับ ผมแปลกใจมากๆ ทั้งๆที่ Header บอกว่า charset เป็น TIS-620 ลองถาม Google ดูจึงพบว่า AJAX มีปัญหากับ TIS-620 จริงๆด้วย เพราะมันส่งเป็น UTF-8 (จริงๆมีวิธีเปลี่ยนแต่ค่อนข้างยุ่งยาก) ดังนั้นภาพข้างบนจึงผิด จริงๆต้องเป็นแบบนี้…

นึกว่างวดนี้จะออก 35 ซะอีก

ปกติไม่ใช้คนเล่นหวยนะครับ แต่งวดนี้มันน่าออก 35 หรือกลับเป็น 53 จริงๆ ก็ลองดูหัวข้อข่าวสิครับ Eclipse announces Galileo, Eclipse 3.5 PHP 5.3.0 Released With Namespaces & More Firefox 3.5 Available Today, Promising Blazing Speed and More

Zend Studio for Eclipse Beta

สำหรับใครที่พัฒนา Web Application ด้วย PHP และเคยใช้ Zend Studio แล้วติดใจในความสามารถของมัน (ผมก็ติดใจนะ แต่ก็ติดที่ราคาด้วยเหมือนกัน) ตอนนี้มีข่าวดีคือทาง Zend ได้ออกโปรดักส์ใหม่ซึ่งเป็นหนึ่งในตระกลู Zend Studio คือ Zend Studio for Eclipse และค่อนข้างแนะนอนว่า IDE จาก Zend เองจะทำงานร่วมกันได้ดีกับ Zend Framework (Web Application Framework ของ Zend สำหรับ PHP) โดยช่วงนี้เปิดให้ Download ตัว Beta ไปทดลองใช้กันได้ Zend Studio for Eclipse คงเป็นคู่แข่งโดยตรงกับ PHPEclipse และ PDT Project (จริงๆแล้ว Zend Studio for Eclipse ก็…

Google Trends: Java, .NET, PHP (Thailand)

เที่ยบกันจะจะความนิยมของ Java, .NET ,และ PHP ใน Google Trends โดยรูปด้านล่างนี้เป็น result เฉพาะในประเทศไทยนะครับ และผมเทียบเมื่อ 15 นาทีที่แล้วครับ จุดที่น่าสนใจคือ 1. อันดับ 1 คือนนทบุรี ไม่รู้เพราะ Software Park อยู่นนทบุรีหรือเปล่า? 2. กรุงเทพเมืองหลวงของเราได้แค่อันดับ 6 เป็นไปได้ยังไง 3. ที่อุบลฯ และสระบุรี คน search PHP มากกว่า Java ครับ ไม่แน่ใจสองจังหวัดนี้มีสถานศึกษาอะไรบ้าง