352 of 410 menu

__call মেথড

__call মেথডটি PHP-তে একটি ম্যাজিক মেথড, যা একটি ক্লাসের অস্তিত্বহীন বা অ্যাক্সেসযোগ্য নয় এমন মেথডে অ্যাক্সেস করার চেষ্টা করলে স্বয়ংক্রিয়ভাবে কল হয়। এটি প্রথম প্যারামিটার হিসেবে কল করা মেথডের নাম গ্রহণ করে, এবং দ্বিতীয় প্যারামিটার হিসেবে আর্গুমেন্টগুলির একটি অ্যারে গ্রহণ করে।

সিনট্যাক্স

public function __call(string $name, array $arguments) { // বাস্তবায়ন }

উদাহরণ

আসুন একটি ক্লাস তৈরি করি যাতে __call মেথড রয়েছে, যা সকল অস্তিত্বহীন মেথডের কলকে ইন্টারসেপ্ট করবে:

<?php class Test { public function __call($name, $args) { echo "Called method: " . $name . "\n"; echo "Arguments: "; print_r($args); } } $test = new Test(); $test->nonExistentMethod('a', 'b', 123); ?>

কোড 실행ের ফলাফল:

Called method: nonExistentMethod Arguments: ['a', 'b', 123]

উদাহরণ

__call ব্যবহার করে একটি সহজ মেথড ডেলিগেটর বাস্তবায়ন করি:

<?php class Calculator { public function add($a, $b) { return $a + $b; } } class Math { private $calculator; public function __construct() { $this->calculator = new Calculator(); } public function __call($name, $args) { if (method_exists($this->calculator, $name)) { return call_user_func_array( [$this->calculator, $name], $args ); } throw new Exception("Method $name not found"); } } $math = new Math(); echo $math->add(2, 3); ?>

কোড 실행ের ফলাফল:

5

আরও দেখুন

  • __callStatic মেথড,
    যা স্ট্যাটিক মেথড কলগুলিকে ইন্টারসেপ্ট করে
  • __get মেথড,
    যা অস্তিত্বহীন প্রপার্টিতে অ্যাক্সেসকে ইন্টারসেপ্ট করে
বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন