ไม่ต้องการ render Layout และ/หรือ View ใน Zend Framework หรือ ZF
- roteee's blog
- Login to post comments
- 26 reads
$this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE);
$this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE);
ทำไมต้องใช้ Smarty ทำไมไม่ใช้ Zend_View ไปเลย??
นั่นหน่ะสิครับ ... โดยส่วนตัว ผมก็ไม่กล้าฟันธงน้ะครับว่าทำไม เพราะอะไร ผมคิดว่า ก็แล้วแต่ความชอบ และความเหมาะสมกับงานของใครของมัน ก็แล้วกัน :)
หลังจากได้ข่าวมาซักพักใหญ่ ว่าเวอร์ชันต่อไป ของ ZF จะมี Javascript Framework รวมอยู่ด้วย
แล้วก็ เดาๆกันว่า เป็น Dojo
และแล้ว วันนี้ ก็เจอใน Web Logs หลายๆ ที่พูดถึง Zend กับ Dojoได้ Release เวอร์ชันแรกๆ ของ ZF ที่มี Dojo ติดมาด้วย เขาบอกว่า สำหรับเวอร์ชันแรกนี้อาจจะเป็นการเรียกน้ำย่อย ก่อนเพราะว่า เท่าที่อ่านดู Widgets ที่ออกมา พร้อมเวอร์ชันนี้ค่อนข้างจะน้อย แต่สำหรับ แฟนพันธ์แท้ JSON ก็คงมีอะไรให้เล่นพอสมควร
สรุปแล้วเท่าที่ลองอ่านดูคร่าว ก็มี
ตอนนี้กำลังสงสัยว่า เราจะจัดการ Exception (Zend_Exception) อย่างไรดี ...
เช่น
// Some controller
<?php
class SomeController extends Zend_Controller_Front
{
... // some code
public function doSomethingAction()
{
if( empty($someRequiredValue) )
{
throw new Zend_Exception("The required value must not be empty!");
}
else
{
// continue working
...
}
}
... // some code
}
?>
ด้วยความที่ใช้ smarty มาเป็น template engine จนติด พอผมมาเริ่มใช้ zend framework ก็เลยหาอ่านบทความว่า จะเอา smarty นี้มาใช้ร่วมกันได้ไหม เพราะว่า มีหลายอย่างที่ทำกับ smarty แล้วง่ายดี และยังไม่อยากจะปรับทุกสิ่งทุกอย่าง เข้า Zend_View (จริงๆ แล้วจะบอกว่าขี้เกียจก็ไม่ผิด) ซึ่งก็พบว่า สามารถเอามาใช้ร่วมกันได้ ไม่มีปัญหา เพราะทาง zend เค้าออกแบบ framework ตัวนี้มาให้ยืดหยุ่นมากทีเดียว เราสามารถจะเพิ่มเติม หรือปิดไม่ใช้ อะไรก็ได้
และพอเริ่มจะเอา smarty มาใช้จริงๆ ก็เริ่มหาอ่านว่าชาวบ้านเขาทำกันยังงัย ก็พบที่เขาถกกันอยู่ 2 สายหลักๆ ดังนี้
สร้าง View เป็นของตัวเอง เช่นอาจจะชื่อ Smarty_View โดย extends มาจาก Zend_View (หรือ Zend_View_Abstract) เช่น
class Smarty_View extends Zend_View_Abstract { }
ออกตั้งแต่วันที่ 30 มิ.ย. 50 แน่ะ อ่านแถลงการณ์ได้ที่นี่ และดาวน์โหลดได้ที่นี่
หลักจากเห็น source code ของตัวอย่างการเริ่มใช้งานใน Getting start with Zend Framework #1 แล้ว บทความนี้จะขอขยายความต่อแล้วกันน้ะครับ
ดังที่กล่าวไว้แล้ว สถาปัตยกรรมของ framework ตัวนี้ เป็น MVC
ในไฟล์ทำงานหลัก ที่โหลดทุกอย่างที่ต้องการ และกำหนดค่าเริ่มต้นต่างๆ ซึ่งเราใช้ไฟล์ index.php เป็น bootstrap เพียงไฟล์เดียว
URI ที่ request มานั้น จะมีโครงสร้างคือ {ROOT}/Controller/Action/Param1/Value1/Param2/Value2 ซึ่งถ้าไม่ระบุ Controller และ ไม่ระบุ Action จะ default ไปที่ IndexController และ IndexAction เช่น
ถึงเวลาเริ่มกันหรือยัง สำหรับ Zend Framework หลังจากที่ เวอร์ชั่น 1.0.0 RC1 ออกได้ซักระยะ ตอนนี้ก็มีเวอร์ชั่น 1.0.0 RC2 ออกตามมีอีกติดๆ (ออกเมื่อ 2007/06/07 นี่เอง) การเปลี่ยนแปลงหลักๆ ดูได้ที่นี่ ที่แน่ๆ มีต้องเปลี่ยน code เล็กน้อย จาก RC1 เป็น RC2
ผมเคยเขียนถึง Getting Start with Zend Framework แล้วครั้งนึง ตอนที่เริ่ม launch php zealots แรกๆ ที่ http://www.phpzealots.com/node/15 แต่ไม่ได้มีรายละเอียดอะไรเลย แถมไปเอา Tutorial ต้นฉบับในรูปแบบ PDF มา attach ไว้ในบทความ ซึ่งเป็นการไม่เหมาะสมอย่างยิ่ง มาคราวนี้ก็เลยมาเขียนในแบบของผมเอง ...