วันนี้เป็นเทคนิคที่ผมอ่านเจอแล้วร้อง โอ้โห ทำอย่างนี้ได้ด้วย ลองมาดูกันครับ
Heredoc ไม่รู้ว่าใครเคยได้ยินมาก่อนรึเปล่า มาเริ่มพร้อมกันและกันครับ Heredoc ใช้ในการซ่อน string สำหรับการแสดง html โดยเฉพาะ เอาเป็นว่า คุณเคยปวดหัวกับการเขียน \" เพื่อ escape tag ต่างๆ เวลาพ่นในหน้า php หรือไม่ หากเป็นอย่างนั้นแล้ว กรุณาเลือกใช้เรา Heredoc แก้ปัญหาให้ท่านได้ 555
เท่านี้ท่านก็สามารถใช้ " ได้อย่างสบายใจหายห่วง syntax ของ heredoc ใช้ (<<<) และต่อด้วยคำที่ใช้ในการบ่งบอกการเริ่ม block ของ heredoc ซึ่งจะนิยมตั้งเป็นตัวอักษรพิมพ์ใหญ่ทั้งหมด ซึ่งสามารถประกอบด้วยตัวเลขและ underscore ได้
ตัวอย่างครับ
echo <<< EOT
// html
หรือ
$string = <<<EOD
// html
เมื่อเขียนส่วน html จบแล้วให้ปิดด้วยชื่อตัวแปรเดียวกันกับที่ตั้งไว้โดยไม่ต้องใช้ <<< ครับ
ตัวอย่างสำเร็จรูป
echo <<<EOT
<li>
<input type="checkbox" name="test" value="done" /> </li>
EOT;
จะสังเกตว่า บรรทัดแรก echo <<< EOT จะไม่มีเครื่องหมาย ; ในการปิด แต่จะปิดทีเดียวที่บรรทัดสุดท้าย EOT; ซึ่งจะน้องพิมพ์เป็นคำแรกของบรรทัด ห้ามมีเว้นวรรคด้านหน้าเด็ดขาดครับ ไม่งั้นจะรันไม่ผ่านครับ
ด้านตัวเป็นการสร้าง checkbox ครับ ที่ง่ายมากๆ และใช้ในส่วนที่เราเขียน programming ได้ครับ สุโค่ย ไม่ต้อง escape ไม่ต้องใช้ stand in ครับ
หากจะเขียนในแบบปกติจะเป็นแบบนี้ครับ
echo “<li><input type=\"checkbox\" name=\"test" value=\"done\" /></li>
เห็นความแตกต่างมั้ยครับ ของอา heredoc เราง่ายกว่าเยอะ
โค้ดท้ายบทรันเพื่อเสริมความมั่นใจในการนำเอาไปใช้ครับ รันแล้วลอง view source ดูครับ และจะบรรลุครับ
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
$name = array("one","two","three");
echo "<ol>";
for( $i = 0 ; $i < 3 ; $i++){
echo<<<EOD
<li><input type="checkbox"
name="$name[$i]" value="done"
/> $name[$i] </li>
EOD;
}
echo "</ol>";
?>
</body>
</html>
ที่มาความรู้ PHP 5 Advanced เจ้าเก่าครับ
dsdasd
ตอบลบ