spl_autoload_call လုပ်ဆောင်ချက်

spl_autoload_call လုပ်ဆောင်ချက်သည် သတ်မှတ်ထားသော class ကို ဖွင့်ရန် ကြိုးစားရာတွင် မှတ်ပုံတင်ထားသည့် autoloader အားလုံးကို ခေါ်ယူပါသည်။ autoloader များကို မှတ်ပုံတင်ပေးသော spl_autoload_register နှင့် မတူဘဲ၊ ဤလုပ်ဆောင်ချက်သည် ၎င်းတို့ကို တိုက်ရိုက် ခေါ်ယူဆောင်ရွက်ပါသည်။ တစ်ခုတည်းသော parameter မှာ ဖွင့်ရန်လိုအပ်သော class ၏ အမည်ဖြစ်သည်။

ဝါကျဖွဲ့ပုံ

phpspl_autoload_call(string $class_name): void

ဥပမာ

autoloader မပါဘဲ မရှိသော class တစ်ခုကို ဖွင့်ရန် ကြိုးစားကြည့်ပါမည်။

php<?php
spl_autoload_call('NonExistentClass');
?>

ကုဒ်အလုပ်လုပ်ဆောင်ချက်၏ ရလဒ် (မှတ်ပုံတင်ထားသော autoloader များ မရှိပါက error ဖြစ်မည်)။

php// Autoloader များ မှတ်ပုံတင်မထားပါက ဘာမျှမဖြစ်ပါ။

ဥပမာ

ရိုးရှင်းသော autoloader တစ်ခု ဖန်တီး၍ class တစ်ခုကို ဖွင့်ရန် ကြိုးစားကြည့်ပါမည်။

php<?php
spl_autoload_register(function($class) {
  echo "Class ကို ဖွင့်ရန် ကြိုးစားနေသည်: $class\n";
});

spl_autoload_call('TestClass');
?>

ကုဒ်အလုပ်လုပ်ဆောင်ချက်၏ ရလဒ်။

phpClass ကို ဖွင့်ရန် ကြိုးစားနေသည်: TestClass

ဥပမာ

Autoloader အများအပြားနှင့် လုပ်ဆောင်ချက်ကို စစ်ဆေးကြည့်ပါမည်။

php<?php
spl_autoload_register(function($class) {
  echo "ပထမ Autoloader: $class\n";
});

spl_autoload_register(function($class) {
  echo "ဒုတိယ Autoloader: $class\n";
});

spl_autoload_call('MyClass');
?>

ကုဒ်အလုပ်လုပ်ဆောင်ချက်၏ ရလဒ်။

phpပထမ Autoloader: MyClass
ဒုတိယ Autoloader: MyClass

အခြားကြည့်ရှုရန်

  • spl_autoload_register လုပ်ဆောင်ချက်၊
    သည် autoloader ကို မှတ်ပုံတင်ပေးသည်။
  • spl_autoload_functions လုပ်ဆောင်ချက်၊
    သည် autoloader များကို ပြန်ပေးသည်။
  • class_exists လုပ်ဆောင်ချက်၊
    သည် class ကို စစ်ဆေးပေးသည်။