spl_autoload_register ක්රියාව
spl_autoload_register ක්රියාව ලබාදුන් ක්රියාවලියක් තත්ව ස්වයංක්රීය බාගත කිරීමේ ක්රියාවලි අනුවාදයක් ලෙස ලියාපදිංචි කරයි. PHP විසින් අර්ථ දක්වා නොමැති තත්වයක් හමු වූ විට, එය ලියාපදිංචි කර ඇති සියලුම ස්වයංක්රීය බාගත කිරීමේ ක්රියා පිළිවෙලින් කැඳවයි, ඒවාට තත්වයේ නම සමඟ යවමින්. පළමු පරාමිතිය - ස්වයංක්රීය බාගත කිරීම සඳහා callback ක්රියාව, දෙවන පරාමිතිය (අවශ්ය නොවේ) - දෝෂයකදී අපවර්තනයක් නිකුත් කළ යුතු ද යන්න, තෙවන පරාමිතිය (අවශ්ය නොවේ) - ක්රියාව පළමුව අනුපිළිවෙලට එකතු කළ යුතු ද යන්න.
වාක්ය රචනා ක්රමය
spl_autoload_register(callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]);
උදාහරණය
සරල ස්වයංක්රීය බාගත කිරීමේ ක්රියාවලියක් ලියාපදිංචි කිරීම:
<?php
function my_autoloader($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
// දැන් පැහැදිලි include නොමැතිව වස්තු නිර්මාණය කළ හැකිය
$obj = new MyClass();
?>
උදාහරණය
ස්වයංක්රීය බාගත කිරීම සඳහා නිර්නාමික ක්රියාවලියක් භාවිතා කිරීම:
<?php
spl_autoload_register(function ($class) {
include 'lib/' . str_replace('\\', '/', $class) . '.php';
});
$obj = new Some\Namespace\MyClass();
?>
උදාහරණය
ස්වයංක්රීය බාගත කිරීමේ ක්රියාවලි කිහිපයක් ලියාපදිංචි කිරීම:
<?php
spl_autoload_register('autoloader1');
spl_autoload_register('autoloader2');
spl_autoload_register('autoloader3', true, true); // පළමුව අනුපිළිවෙලට එකතු කරන්න
// PHP ක්රියා පිළිවෙලින් කැඳවනු ඇත: autoloader3, autoloader1, autoloader2
$obj = new MyClass();
?>
මෙයද බලන්න
-
spl_autoload_functions ක්රියාව,
ස්වයංක්රීය බාගත කරන්නන් ආපසු ලබා දෙයි -
spl_autoload_unregister ක්රියාව,
ස්වයංක්රීය බාගත කරන්නන් ඉවත් කරයි -
class_exists ක්රියාව,
තත්වය පරීක්ෂා කරයි