আমি কিছু পিএইচপি ফাংশন দিয়ে যাচ্ছিলাম এবং আমি নিম্নলিখিতটি লক্ষ্য করতে সহায়তা করতে পারি না:
<?php
function foo(&$var) { }
foo($a); // $a is "created" and assigned to null
$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)
$c = new StdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>
array_key_exists()
এবং property_exists()
ফাংশন লক্ষ্য করুন । প্রথমটির মধ্যে, সম্পত্তির নাম (অ্যারের কী) প্রথম প্যারামিটার এবং দ্বিতীয়টিতে এটি দ্বিতীয় পরামিতি। অন্তর্দৃষ্টি দ্বারা, কেউ তাদের অনুরূপ স্বাক্ষর থাকবে বলে আশা করবে। এটি বিভ্রান্তির দিকে নিয়ে যেতে পারে এবং এই ধরণের সংশোধন করে উন্নয়নের সময় নষ্ট হতে পারে।
পিএইচপি, বা এই বিষয়ে কোনও ভাষা, সম্পর্কিত ফাংশনগুলির স্বাক্ষরগুলি সামঞ্জস্য করার বিষয়টি বিবেচনা করা উচিত নয়?