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;
?>
දින අරාවකින් සතියේ දින ලැයිස්තුවක් ජනනය කරන ගොනුවක් සාදන්න. එහි ප්රතිඵලය ඔබගේ ප්රධාන ගොනුවේ විචල්යයකට වාර්තා කරන්න. මෙම විචල්යය ගොනුවේ ස්ථාන කිහිපයකදී ප්රතිදානය කරන්න.