Ghi việc chèn vào biến trong PHP
Giả sử chúng ta có một tệp nào đó:
<div>
<?= 'test' ?>
</div>
Hãy ghi nội dung của tệp chúng ta vào một biến trong tệp chính:
<?php
$res = file_get_contents('test.php');
?>
Tuy nhiên, chúng ta sẽ gặp vấn đề - khi ghi vào biến, mã PHP của tệp chúng ta sẽ không được thực thi.
Để mã PHP trong tệp được chèn được thực thi, cần sử dụng toán tử include. Vấn đề là toán tử này ngay lập tức xuất dữ liệu ra màn hình, vì vậy kết quả của việc bao gồm không thể được ghi vào một biến.
Nhưng điều này vẫn có thể thực hiện được nếu sử dụng một thủ thuật khéo léo:
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
Hãy đóng gói mã thủ thuật thành một hàm:
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
Hãy sử dụng hàm của chúng ta để lấy tệp vào một biến:
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
Hãy tạo một tệp để tạo danh sách chọn thả xuống các ngày trong tuần từ một mảng ngày. Ghi kết quả vào một biến trong tệp chính của bạn. Xuất biến này ở nhiều vị trí trong tệp.