আপনার উল্লেখ যে উল্লেখগুলি খুব কমই ব্যবহৃত হয় তা ভুল। অন্যরা ইতিমধ্যে উল্লেখ করেছে যে উল্লেখ রয়েছে এমন একাধিক নেটিভ ফাংশন, উল্লেখযোগ্য উদাহরণগুলির মধ্যে অ্যারে বাছাই করা ফাংশন এবং preg_match()
/ অন্তর্ভুক্ত রয়েছে preg_match_all()
। আপনি যদি আপনার কোডটিতে এই ফাংশনগুলির কোনও ব্যবহার করে থাকেন তবে আপনি উল্লেখগুলিও ব্যবহার করছেন।
চলমান, পিএইচপি-তে রেফারেন্সগুলি পয়েন্টার নয় । যেহেতু আপনি একটি সি ++ ব্যাকগ্রাউন্ড থেকে এসেছেন আমি এই বিভ্রান্তি বুঝতে পারি, কিন্তু পিএইচপি রেফারেন্সগুলি সম্পূর্ণ ভিন্ন জন্তু, এগুলি একটি প্রতীক টেবিলের উপাধি । সি ++ রেফারেন্স থেকে আপনি যে কোনও পারফরম্যান্স লাভ আশা করেছিলেন এমনগুলি পিএইচপি রেফারেন্সের জন্য প্রযোজ্য নয়।
প্রকৃতপক্ষে, বেশিরভাগ পরিস্থিতিতে মান দ্বারা পাস করা রেফারেন্স দ্বারা পাস করার চেয়ে দ্রুত এবং কম মেমরি নিবিড়। জেন্ড ইঞ্জিন, পিএইচপি-র মূল, একটি অনুলিপি অপ্টিমাইজেশন প্রক্রিয়া ব্যবহার করে যা পরিবর্তিত হওয়া অবধি কোনও ভেরিয়েবলের অনুলিপি তৈরি করে না। রেফারেন্স দিয়ে পাসিং সাধারণত অনুলিপি-অন-লেখার প্যাটার্নটি ভেঙে দেয় এবং আপনি মানটি সংশোধন করেন কিনা তা অনুলিপি প্রয়োজন।
আপনার যখন প্রয়োজন হবে তখন পিএইচপি-তে রেফারেন্সগুলি ব্যবহার করতে ভয় পাবেন না, তবে কেবল এটি মাইক্রো-অপ্টিমাইজ করার চেষ্টা হিসাবে করবেন না। মনে রাখবেন, অকালীন অপটিমাইজেশন হ'ল সমস্ত অশুভের মূল ।
আরও পড়া: