การบันทึกผลลัพธ์การ include ลงในตัวแปรใน PHP
สมมติว่าเรามีไฟล์ดังนี้:
<div>
<?= 'test' ?>
</div>
ลองมาเขียนเนื้อหาของไฟล์ของเรา ลงในตัวแปรในไฟล์หลักกัน:
<?php
$res = file_get_contents('test.php');
?>
อย่างไรก็ตาม เราจะมีปัญหา - เมื่อบันทึกลงในตัวแปร โค้ด PHP ของไฟล์ของเราจะไม่ถูก ประมวลผล
เพื่อให้โค้ด PHP ในไฟล์ที่นำเข้ามา
ถูกประมวลผล เราจำเป็นต้องใช้โอเปอเรเตอร์
include ปัญหาคือ
โอเปอเรเตอร์นี้จะแสดงผลข้อมูลออกมาทันที
ดังนั้นผลลัพธ์ของการนำเข้าไม่สามารถ
ถูกบันทึกลงในตัวแปรได้
แต่ก็ยังสามารถทำได้ หากเราใช้ เทคนิคที่ฉลาด:
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
มาจัดรูปแบบโค้ดเทคนิคนี้เป็นฟังก์ชัน:
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
ลองใช้ฟังก์ชันของเราเพื่อรับ ไฟล์ลงในตัวแปร:
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
สร้างไฟล์ที่จะสร้าง รายการเลือกวันของสัปดาห์จากอาร์เรย์ของวัน บันทึกผลลัพธ์ลงในตัวแปรในไฟล์หลัก ของคุณ แสดงผลตัวแปรนี้ในหลายๆ ตำแหน่งของไฟล์