আজকে আমাদের টিউটোরিয়ালের বিষয়বস্তু হল, পিএইচপি তে ফাংশন তৈরী এবং তার ব্যবহার।পিএইচপিতে অসংখ্য বিল্টইন ফাংশন রয়েছে এবং প্রতিনিয়ত নতুন ফাংশন যুক্ত হচ্ছে।মূলত পিএইচপি তে এডভান্স লেবেলের কাজ গুলো বিল্টইন ফাংশনের মাধ্যমেই করা হয়।পরবর্তী টিউটোরিয়াল গুলোতে থাকবে ধারাবাহিক ভাবে পিএইচপি এর বিল্টইন ফাংশন নিয়ে আলোচনা।
পিএইচপি তে ফাংশন কি?
পিএইচপি সহ প্রতিটা প্রোগ্রামিং ল্যাঙ্গুয়েজে রয়েছে ফাংশন।ফাংশন হল একটি কোড ব্লক যার একটি নাম থাকবে সেই নাম ধরে ডাকলে কোড ব্লকের মধ্যে থাকা কাজ সম্পাদন হবে।একটি কোড ব্লকে বিভিন্ন স্টেটমেন্ট থাকতে পারে।একটি ফাংশন তৈরী করে সেটা বার বার প্রোগ্রামে ব্যবহার করা যায়।
Syntax
function functionName(){ code will be executed; }
নোটঃ একটি ফাংশনের নাম লেটার এবং আন্ডারস্কোর দিয়ে শুরু হতে পারে।কিন্তু নাম্বার দিয়ে শুরু করা যাবেনা।মনে রাখবেন, পেজ লোড হবার সাথে সাথে কোন ফাংশন এক্সিকিউট হয়না।একটি ফাংশনের নাম ধরে ডাকলেই কেবল মাত্র সে এক্সিকিউট হয়।
Syntax দেখে নিশ্চয় বুঝতে পেরেছেন যে,পিএইচপি তে ফাংশন দেখতে কেমন হয় এবং একটি ফাংশনের নামের আগে function কথাটি লিখতে হয়।তাহলে চলুন একটি ফাংশন বানায় যার নাম দিবো amarFunction এবং এই ফাংশনের নাম ধরে ডাকলে সে আউটপুট দিবে, Ei amar function a hat dibina
উদাহরণ ১
<?php function amarFunction(){ echo "Ei amar function a hat dibina"; } amarFunction(); ?>
উপরের কোডটি রান করিয়ে দেখুন আউটপুট আসবে, Ei amar function a hat dibina.এখানে আমরা ৩ নম্বর লাইনে ফাংশনের নাম লিখেছি এবং ৫ নম্বর লাইনে Ei amar function a hat dibina কথাটি echo করিয়েছি।এরপর ৯ নম্বর লাইনে আমরা আমাদের বানানো ফাংশনটির নাম ধরে ডাক দিয়েছি এভাবে amarFunction();
আমরা জানি যে, পিএইচপি তে কোন কিছু আউটপুট দেখাবার জন্য echo করতে হয়।কিন্তু আমাদের বানানো ফাংশন টি কিন্তু আমরা এভাবে echo amarFunction(); করিনাই।ফাংশনের নাম ধরে ডাকলেই সেটা আউটপুট দিচ্ছে,কারণ এই কাজ টি আমরা ফাংশনের মধ্যেই করে দিয়েছি।কিন্তু আপনি যদি চান যে, কেবল যখনই আপনি ফাংশনের নামের আগে echo লিখবেন তখনই সেটা আউটপুট দিবে।তাহলে নিচের মত কোড লিখে রান করান।
উদাহরণ ২
<?php function amarFunction(){ return "Ei amar function a hat dibina"; } echo amarFunction(); ?>
কি দেখলেন,আউটপুট একই এসেছে তাইনা?উদাহরণ ১ এবং উদাহরণ ২ এর কোড গুলোর মধ্যে পার্থক্য লক্ষ্য করুন তাহলে বুঝতে পারবেন।
ফাংশনে আর্গুমেন্টের ব্যবহার
আর্গুমেন্টের মাধ্যমে একটি ফাংশনে ইমফরমেশন পাস করানো যায়।আর্গুমেন্ট দেখতে ভেরিয়েবলের মত।ফাংশনের নামের পর ফাস্ট ব্র্যাকেটের () মধ্যে আর্গুমেন্ট লেখা হয়।আপনি একটি ফাংশনে যত খুশি আর্গুমেন্ট ব্যবহার করতে পারেন।তবে মনে রাখবেন, আর্গুমেন্ট গুলা কমা (,) দ্বারা সেপারেট করতে হয়।
উদাহরণ ৩
<?php function amarBondhura( $bondhurNam ){ echo "Amar ekta valo bondhu holo ".$bondhurNam.""; } amarBondhura("Bepul"); amarBondhura("Shimul"); amarBondhura("Azim"); ?>
উপরের উদাহরণে ৩ নম্বর লাইনে লক্ষ্য করুন, আমরা bondhurNam নামে একটা আর্গুমেন্ট পাস করিয়েছি।এরপর ৫ নম্বর লাইনে স্ট্রিং এর পর আর্গুমেন্ট টা echo করিয়েছি।
এরপর চলে আসুন ৯ নম্বর লাইনে, এখানে আমরা ফাংশনটিকে কল করেছি এবং সেকেন্ড ব্র্যাকেটের () মধ্যে ইনফরমেশন পাস করিয়েছি।আমরা পর পর ৩ বার ফাংশনটিকে কল করেছি এবং প্রতিবার ভিন্ন ভিন্ন ইনফরমেশন পাস করিয়েছি।আপনি কোড টা রান করালে আউটপুট আসবে নিচের মত।
Amar ekta valo bondhu holo Bepul
Amar ekta valo bondhu holo Shimul
Amar ekta valo bondhu holo Azim
আশাকরি বুঝতে যে, ফাংশনে আর্গুমেন্ট ব্যবহারের সুবিধা কি।
আর্গুমেন্টে ডিফল্ট ভেল্যু যুক্ত করা
ফাংশনে আর্গুমেন্টের নামের পর ইকুয়াল = চিহ্ন দিয়ে আর্গুমেন্টের ডিফল্ট ভেল্যু যুক্ত করা হয়।আর্গুমেন্টে ডিফল্ট ভেল্যু যুক্ত করার সুবিধা হল, ফাংশন কল করার সময় আপনি যদি আর্গুমেন্টে কোন ইনফরমেশন পাস না করান তাহলে এটি ডিফল্ট ভেল্যু আউটপুট দিবে।চলুন একটি উদাহরণ দেখে নিই, তাহলে বুঝতে সুবিধা হবে।
উদাহরণ ৪
<?php function amarBondhura( $bondhurNam = "Bipul" ){ echo "Amar ekta valo bondhu holo ".$bondhurNam.""; } amarBondhura(); amarBondhura("Shimul"); ?>
উপরের উদাহরণের ৩ নম্বর লাইন লক্ষ্য করুণ, এখানে আর্গুমেন্টের নামের পর কোটেশানের মধ্যে আমরা আর্গুমেন্টের ডিফল্ট ভেল্যু যুক্ত করে দিয়েছি।তাছাড়া বাদ বাকি কোড আগের মতই আছে।এরপর ৯ নম্বর লাইনে লক্ষ্য করুন, এখানে আমরা ফাংশনটি প্রথমবার কল করেছি এবং আর্গুমেন্টে কোন ভেল্যু দেই নি।ফলে আউটপুট আসবে, Amar ekta valo bondhu holo Bipul এরপর ১০ লাইনে আমরা ফাংশনটি আবার কল করেছি এবং আর্গুমেন্টের ভেল্যু দিয়েছি Shimul ফলে আউটপুট আসবে Amar ekta valo bondhu holo Shimul অর্থাৎ উপরের উদাহরণের কোড গুলা রান করালে আউটপুট আসবে
Amar ekta valo bondhu holo Bipul
Amar ekta valo bondhu holo Shimul
সবটুকু দিয়ে বোঝাবার চেষ্টা করলাম।কোন অংশ বুঝতে না পারলে জানাবেন।মানুষ ভূল-ত্রুটির উদ্ধে নয়, তাই তর্থ্যে কোন ভূল থাকলে শুধরে দেবার অনুরোধ রইল।
আপনাদের জন্য আরো কিছু উদাহরণঃ
একাধিক আর্গুমেন্টের ব্যবহার
<?php function amarBondhura( $bondhurNam, $tarBoios ){ echo "Amar ekta valo bondhu holo ".$bondhurNam.", tar boios ".$tarBoios.""; } amarBondhura("Bepul", 25); amarBondhura("Shimul", 24); amarBondhura("Azim", 21); ?>
আউপুট আসবে…
Amar ekta valo bondhu holo Bepul, tar boios 25
Amar ekta valo bondhu holo Shimul, tar boios 24
Amar ekta valo bondhu holo Azim, tar boios 21
একাধিক আর্গুমেন্টে ডিফল্ট ভেল্যু যুক্ত করা
<?php function amarBondhura( $bondhurNam = "Bipul", $tarBoios = 25 ){ echo "Amar ekta valo bondhu holo ".$bondhurNam.", tar boios ".$tarBoios.""; } amarBondhura(); amarBondhura("Shimul", 24); amarBondhura("Azim", 21); ?>
আউটপুট আসবে…
Amar ekta valo bondhu holo Bipul, tar boios 25
Amar ekta valo bondhu holo Shimul, tar boios 24
Amar ekta valo bondhu holo Azim, tar boios 21
আর্গুমেন্টের মাধ্যমে ছোট একটা অংক
<?php function cotoAonko( $prothomSonkha, $ditioSonkha ){ $sorboMot = $prothomSonkha + $ditioSonkha; echo "Sorbomot " .$prothomSonkha ." + ". $ditioSonkha ." = ". $sorboMot; } cotoAonko(10,35); ?>
আউটপুট আসবে…
Sorbomot 10 + 35 = 45
আজ এই পর্যন্ত।ভাল থাকবেন সবাই।বেশী বেশী করে প্যাকটিস করবেন এবং কোথাও আটকে গেলে জানাবেন। হ্যাপি পিএইচপি কোডিং।