ตอนนี้ได้อะไรบ้าง
- $tp->setGlobal(false);
- $tp->setGlobal(true);
- $tp->assign();
หลักการทำงาน
– เมื่อขนาดโปรเจคท์ใหญ่ขึ้นมีความจำเป็นต้องแยกเป็น class, function ออกมา จะต้องใช้ $tp->setGlobal(false); และตามด้วย $tp->assign(); เพื่อระบุค่าให้ตัวแปร
– มีลักษณะการทำงาน 2 แบบได้แก่
1. ใช้ $tp->assign(); เฉพาะการแทนค่าใน class, function
2. ใช้ $tp->assign(); ทุกกรณี
ผลการทำงาน แบบที่ 1
ผลการทำงาน แบบที่ 2
ทั้ง 2 แบบได้ผลลัพท์เหมือนกัน
<!DOCTYPE html> <html> <head> <title>วิธีใช้งาน จาก class, function</title> <link rel="stylesheet" href="module/bootstrap/bootstrap.min.css"> </head> <body> <div class="container"> <h3>วิธีใช้งาน จาก class, function</h3> <ul class="list-group"> <li class="list-group-item">1</li> <li class="list-group-item">2</li> <li class="list-group-item">3</li> <li class="list-group-item">4</li> <li class="list-group-item">5</li> </ul> </div> <script src="module/jquery/jquery.min.js"></script> <script src="module/bootstrap/bootstrap.min.js"></script> </body> </html>
_tp_other.html
<!DOCTYPE html> <html> <head> <title>$title</title> <link rel="stylesheet" href="module/bootstrap/bootstrap.min.css"> </head> <body> <div class="container"> <h3>$title</h3> <ul class="list-group"> <!--SiXhEaD:data--> <li class="list-group-item">$no</li> <!--/SiXhEaD:data--> </ul> </div> <script src="module/jquery/jquery.min.js"></script> <script src="module/bootstrap/bootstrap.min.js"></script> </body> </html>
other1.php
<?php require 'module/SiXhEaD.Template.php'; $tp = new Template('_tp_other.html'); $title = 'วิธีใช้งาน จาก class, function'; _setData(); $tp->display(); exit; function _setData() { global $tp; $tp->setGlobal(false); $tp->block('data'); for ($no = 1; $no < 6; $no++) { $tp->assign('no', $no); $tp->apply(); } $tp->setGlobal(true); }
other2.php
<?php require 'module/SiXhEaD.Template.php'; $tp = new Template('_tp_other.html'); $tp->setGlobal(false); $title = 'วิธีใช้งาน จาก class, function'; $tp->assign('title', $title); _setData(); $tp->display(); exit; function _setData() { global $tp; $tp->block('data'); for ($no = 1; $no < 6; $no++) { $tp->assign('no', $no); $tp->apply(); } }