কম্পিউটার টিউটোরিয়াল

PHP ArgumentCountError


ভূমিকা

PHP পারসার ArgumentCountError থ্রো করে যখন একটি ইউজার-ডিফাইনড ফাংশন বা মেথডে পাস করা আর্গুমেন্ট এর ডেফিনিশনে থাকা আর্গুমেন্টের চেয়ে কম হয়। ArgumentCountError ক্লাস TypeError ক্লাস থেকে ইনহেরিট করা।

ArgumentCountError উদাহরণ

নিচের উদাহরণে, একটি ইউজার-ডিফাইনড ফাংশন add() দুই আর্গুমেন্ট রিসিভ করার জন্য ডিফাইন করা হয়েছে। তবে, কল করার সময় যদি প্রয়োজনীয় আর্গুমেন্টের চেয়ে কম দেওয়া হয়, ArgumentCountError থ্রো হবে যা catch ব্লকে হ্যান্ডেল করা যায়।

উদাহরণ

<?php function add($x, $y){ return $x + $y; } try{ echo add(10); } catch (ArgumentCountError $e){ echo $e->getMessage(); } ?>

আউটপুট

এটি নিচের ফলাফল দেবে—

Too few arguments to function add(), 1 passed in C:\xampp\php\test.php on line 6 and exactly 2 expected

নিচের উদাহরণে, myclass-এ setdata() মেথড দুইটি ফরম্যাল আর্গুমেন্ট সহ ডিফাইন করা হয়েছে। যখন এই মেথড কম আর্গুমেন্টসহ কল করা হয়, ArgumentCountException থ্রো হবে।

উদাহরণ

<?php class myclass{ private $name; private $age; function setdata($name, $age){ $this->name = $name; $this->age = $age; } } try{ $obj = new myclass(); $obj->setdata(); } catch (ArgumentCountError $e){ echo $e->getMessage(); } ?>

আউটপুট

এটি নিচের ফলাফল দেবে—

Too few arguments to function myclass::setdata(), 0 passed in C:\xampp\php\test.php on line 15 and exactly 2 expected

ArgumentCountException বিল্ট-ইন ফাংশনকে অনুপযুক্ত বা অবৈধ সংখ্যক আর্গুমেন্ট দেওয়াও থ্রো হয়। তবে strict-types মোড অবশ্য সেট থাকতে হবে।

উদাহরণ

<?php declare(strict_types = 1); try{ echo strlen("Hello", "World"); } catch (ArgumentCountError $e){ echo $e->getMessage(); } ?>

আউটপুট

এটি নিচের ফলাফল দেবে—

strlen() expects exactly 1 parameter, 2 given

  1. PHP ফাংশন আর্গুমেন্ট (Function Arguments)

  2. PHP pi() ফাংশন

  3. PHP-এ স্ট্যাটিক মেথড আর্গুমেন্ট হিসেবে পাস করা

  4. PHP-এ অ্যারে থেকে আর্গুমেন্ট পাস করে কনস্ট্রাক্টরে পাস করা