__destruct ක්රමය
__destruct ශ්රිතය PHP හි මායා ක්රමයක් වන අතර එය ස්මෘතියෙන් වස්තුව මකා දැමූ විට ස්වයංක්රීයව අමතනු ලැබේ. මෙය සිදුවන්නේ ස්ක්රිප්ටය ක්රියාකාරිත්වය අවසන් කරන විට හෝ වස්තුව පැහැදිලිව විනාශ කරන විට ය. ගොනු විවෘතකරුවන් වසා දැමීම හෝ දත්ත සම්බන්ධතා වසා දැමීම වැනි සම්පත් නිදහස් කිරීම සඳහා ක්රමය ප්රයෝජනවත් වේ.
වාක්ය රීතිය
class MyClass {
public function __destruct() {
// විනාශකරු කේතය
}
}
උදාහරණය
වස්තුවක් විනාශ වූ විට පණිවිඩයක් ප්රදර්ශනය කරන විනාශකරුවෙන් යුත් සරල ශ්රේණියක උදාහරණයක්:
<?php
class Test {
public function __destruct() {
echo 'වස්තුව විනාශ කරන ලදී';
}
}
$obj = new Test();
unset($obj); // විනාශකරු ක්රියාත්මක කරයි
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
'වස්තුව විනාශ කරන ලදී'
උදාහරණය
සම්පත් නිදහස් කිරීමේ (ගොනුව වසා දැමීම) උදාහරණයක්:
<?php
class FileHandler {
private $file;
public function __construct($filename) {
$this->file = fopen($filename, 'r');
}
public function __destruct() {
if ($this->file) {
fclose($this->file);
echo 'ගොනුව වසා ඇත';
}
}
}
$handler = new FileHandler('example.txt');
// ගොනුව සමඟ වැඩ...
unset($handler); // ගොනුව ස්වයංක්රීයව වසා දමයි
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
'ගොනුව වසා ඇත'
මේවාත් බලන්න
-
__constructක්රමය,
එය ශ්රේණියේ ගොඩනැගීමේ ක්රමය වේ