Дар гузина навиштан ба тағирёбанда дар 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;
?>
Файле созед, ки аз массиви рӯзҳо рӯйхати таназзули рӯзҳои ҳафтаро тавлид кунад. Натиҷаро ба тағирёбанда дар файли асосии худ нависед. Ин тағирёбандаро дар чанд ҷойи файл чоп кунед.