ตอนนี้ได้อะไรบ้าง
- $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();
}
}