ปกติแล้วเวลาผมเขียนโปรแกรม (PHP) ผมจะทำการเขียนโดยแยก code กับ HTML ออกจากกัน โดยใช้ class ของ TemplatePower ซึ่งจะทำให้สะดวกในการแก้ไข code php และแก้ไขหน้า html เป็นอย่างมาก สะดวกและน่าใช้งานขนาดไหนตามเข้าไปดูกันเลยครับ
ไม่ได้เขียนอะไรเลยนานเหมือนกัน พอดีว่ามีปัญหาที่ครอบครัวนิดหน่อย เลยไม่มีจิตใจจะเขียนอะไร ตอนนี้ดีขึ้นมาบ้างแล้ว เลยเริ่มเขียนเล็กๆน้อยๆก่อนละกัน
ที่จริงแล้ว class template ของ PHP ก็มีให้เลือกใช้หลายตัวนะครับ ไม่ว่าจะเป็น Smarty Template หรือ template ตัวอื่นๆ ต่างก็มีหลักการเขียนที่คล้ายๆกันไม่ต่างกันมาก แต่ที่ผมชอบ TemplatePower ก็เนื่องจากว่าความเรียบง่ายของการใช้งาน จะเรียบง่ายและน่าใช้ยังไง คุณเองก็ต้องเป็นผู้ตัดสินใจที่จะเลือกใช้แล้วละครับ ลองไป download template ตัวอื่นมาใช้งาน เปรียบเที่ยบกันดู ชอบแบบไหนก็เลือกใช้แบบนั้นไปครับ
ในการใช้ TemplatePower เพื่อช่วยในการเขียนโปรแกรมนั้นเราจะกำหนด BLOCK เพื่อกำหนดขอบเขตของการแสดงผล และกำหนดตำแหน่งของตัวแปรโดยใช้ {} มาลองดูตัวอย่างกันเลยดีกว่าจะได้เห็นภาพ
ขั้นแรกทำการ Download Class TemplatePower3.0.2.tar.gz ก่อน
เมื่อ download ไปแล้วให้ทำการ unzip จะได้ file ออกมาทั้งหมด 5 file แต่ file ที่เราจะต้องนำมาใช้งานจริงๆ มี class.TemplatePower.inc.php เพียง file เดี่ยวครับ
จากนั้นทำการสร้าง folder test_template และ copy class.TemplatePower.inc.php มาไว้ในนี้ก่อนนะครับ
จากนั้นทำการสร้าง file html tp.test.html ขึ้นมาครับ (ที่จริงตั้งชื่อว่าอะไรก็ได้ครับ แต่ที่ผมใช้ tp นำหน้า เพื่อบอกให้ทราบว่าเป็น template ที่จะถูกเรียกใช้งานจาก PHP นะครับ)
tp.test.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <html> <head> <title>Test TemplatePower</title> </head> <body> <!-- START BLOCK : FORM --> <form action="test.php" method="post" name="form1" id="form1"> Name : <input name="name" type="text" id="name"> <br> Loop : <input name="loop" type="text" id="loop" value="5"> <br> <input type="submit" name="Submit" value="Submit"> </form> <!-- END BLOCK : FORM --> <!-- START BLOCK : SAVE --> Name : {name} <br> <!-- END BLOCK : SAVE --> </body> </html> |
จากข้อมูลภายใน file เราจะเห็นได้ว่าเรามีการกำหนด BLOCK ขึ้นมา 2 BLOCK คือ FORM สำหรับแสดงช่องให้ใส่ข้อมูล และ SAVE สำหรับแสดงข้อมูลที่ได้จากการ Submit
ต่อไปก็สร้าง file test.php ดังนี้
test.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php include_once("./class.TemplatePower.inc.php"); $tpl = new TemplatePower("./tp.test.html"); $tpl->prepare(); if($name != "" && $loop != ""){ for($i=0;$i<$loop;$i++){ $tpl->newBlock("SAVE"); $tpl->assign("name",$name); } }else{ $tpl->newBlock("FORM"); } $tpl->printToScreen(); ?> |
การทำงานของโปรแกรมจะเริ่มจากการ include class ของ TemplatePower เข้ามาก่อน จากนั้นจะทำการตรวจสอบค่าของ $name และ $loop ว่ามีค่าเข้ามาหรือไม่ ถ้าไม่มีให้แสดง BLOCK FORM เพื่อให้กรอกข้อมูล แต่ถ้าค่า $name และ $loop มีค่าเข้ามาแล้วก็จะทำการแสดงค่าของตัวแปร $name ใน BLOCK SAVE เท่ากับจำนวนของตัวแปร $loop
ลองๆเอาไปใช้กันดูนะครับ ผมคิดว่าจะทำให้การเขียน PHP ของคุณง่ายขึ้นมากทีเดี่ยว
หรือจะเข้าไปที่ http://templatepower.codocad.com/ เพื่อหาข้อมูลเพิ่มเติมก็ได้นะครับ
หรือถ้าในใจตัว Smarty Template ก็สามารถเข้าไปดูได้ที่ http://smarty.php.net/