set_error_handler ශ්රිතය
set_error_handler ශ්රිතය පරිශීලක අර්ථ දක්වන දෝෂ හසුරුවන්නෙක් ස්ථාපිත කරයි.
පළමු පරාමිතියට දෝෂයක් ඇති වූ විට කැඳවනු ලබන callback ශ්රිතය සම්ප්රේෂණය කරයි.
දෙවන, විකල්ප පරාමිතිය මගින් හසුරුවන්නා විසින් අල්ලා ගත යුතු දෝෂ වර්ග නිර්වචනය කළ හැකිය.
වාක්ය රචනය
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
උදාහරණය
පරිශීලක අර්ථ දක්වන දෝෂ හසුරුවන්නෙකුගේ සරල උදාහරණයක්:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "දෝෂය [$errno]: $errstr, $errfile හි $errline පේළියේ";
}
set_error_handler("customError");
echo $undefinedVar;
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
දෝෂය [8]: අර්ථ දක්වා නොමැති විචල්යය: undefinedVar, /path/to/file.php හි 7 පේළියේ
උදාහරණය
දෝෂ වර්ග නිශ්චිතව පමණක් හැසිරවීම:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "අවවාදය අල්ලාගන්නා ලදී: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // අවවාදයක් ඇති කරයි
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
අවවාදය අල්ලාගන්නා ලදී: strpos() සාමාන්යයෙන් අවම වශයෙන් පරාමිති 2 බලාපොරොත්තු වේ, 0 ලබා දී ඇත
උදාහරණය
ප්රමිතික දෝෂ හසුරුවන්නා වෙත ආපසු යාම:
<?php
set_error_handler(null); // ප්රමිතික හසුරුවන්නා වෙත ආපසු යාම
?>