PHP functions
PHP অথবা যেকোনো প্রোগ্রামিং Language এ function হচ্ছে Program এর এমন একটা code block যা একটা নির্দিষ্ট কার্য সম্পাদনের এবং তা বার বার ব্যবহারের জন্যে ব্যবহৃত হয়। অর্থাৎ function এর মধ্যে এমন কিছু Instruction বা নির্দেশাবলী থাকে যা
function ব্যবহারকারী থেকে এক বা একাধিক input নিয়ে এক বা একাধিক output বা result রিটার্ন করার জন্য ব্যবহৃত হয়। সাধারণত, program page লোড হওয়ার সাথে সাথেই ডিক্লেয়ার করা function execute হয়না, যতক্ষণ না function কে call করা না হয়। উদাহরণ হিসেবে উপরের juice machine টি হচ্ছে function আর কমলা গুলো হচ্ছে function এর input এবং function এর output বা রিটার্ন হচ্ছে কমলার শরবত।
PHP function
PHP তে function কত প্রকার
- PHP Pre-built function বা PHP language কর্তৃক পূর্ব নির্ধারিত বিভিন্ন library function বা library ছাড়া function
- User/Programmer defined function বা Programmer কর্তৃক নির্ধারিত function
PHP তে function কিভাবে লিখতে হয়?
- PHP তে function define করার সময় letter অথবা underscore দিয়ে শুরু করতে হয়।
- PHP তে function Case Insensitive অর্থাৎ
একই
নামে
কোনো
ফাঙ্কশন lowercase
এবং
uppercase এর কারণে আলাদা function হিসেবে বিবেচিত হবে না।
PHP তে function লেখার Syntax
কি
<?php
function
functionName($arg_1, $arg_2, /* ..., */ $arg_n)
{
//code to be
executed;
}
?>
PHP তে function এর মধ্যে Parameter
কি এবং argument কি ?
function declaration অথবা define এর সময় parentheses এর মধ্যে ব্যবহৃত একেকটি variable কে একেকটি function parameter বলা হয়। একই ভাবে function calling এর সময় parentheses এর মধ্যে ব্যবহৃত একেকটি variable কে একেকটি function argument বলা হয়।
PHP তে functions এর arguments
গুলোকে কয় ভাবে receive বা গ্রহণ করা যায়?
- সরাসরি
functions এর Parameter দিয়ে argument গুলো রিসিভ করা যায়।
- functions এর Parameter ছাড়া argument গুলো রিসিভ করা যায়।
PHP তে Function এর মধ্যে function
যখন একটি function কে আরেকটি function এর মধ্যে declare করা হয়, PHP অথবা যেকোনো প্রোগ্রামিং এর পরিভাষায় একে বলা হয় functions within function বা function এর মধ্যে function. আর এর জন্য আপনাকে যা কাজ করতে হবে :
- প্রথমে
Parent function অর্থাৎ
যেই
function এর মধ্যে function টি declare করা হয়েছে, সেই function টি কল করতে হবে।
- তারপর
child function বা প্যারেন্ট function এর মধ্যের function টি কল করতে পারবেন।
PHP তে Conditional Function কি ?
যখন কোনো function, কোনো একটা condition true হওয়ার পর declare বা create হয় । PHP অথবা যেকোনো প্রোগ্রামিং এর পরিভাষায় একে বলা হয় conditional function.
PHP তে Recursive Function কি ?
function যখন নিজেই নিজেকে কল করে বা যখন function নিজের মধ্যেই নিজেকে কল করে , PHP অথবা যেকোনো Programming Language এর পরিভাষায় একে বলা হয় Recursive Function বা Recursion.
PHP functions
Type hinting
PHP তে function call করা কালীন যেসব Parameter দিয়ে যেসব Argument গ্রহণ করব তার Data type এবং function থেকে যেসব value return করবো তার data type কি হবে, তা নির্ধারণ করার পদ্ধতিকে PHP তে Type Hinting বলে।
PHP তে Type Hinting কত প্রকার এবং কি কি ?
PHP তে Type Hinting দুই প্রকার :
• Argument Type Hinting
• Return Type Hinting
PHP তে Argument Type Hinting কি ?
PHP তে function call করা কালীন Parameter এর মাধ্যমে যেসব Argument গ্রহণ করব তার data type কি হবে, তা নির্ধারণ করার পদ্ধতিকে PHP তে Argument Type Hinting বলে।
PHP তে Type Hinting এর জন্য কি কি data
type সাপোর্ট করে?
PHP 7.1 পর্যন্ত ৯ ধরনের data type সাপোর্ট করে :
• Class/interface
• self
• array
• callable
• bool
• float
• int
• string
• iterable
PHP functions
Type hinting
PHP তে Argument Type Hinting কিভাবে কাজ করে?
PHP তে Argument Type Hinting কিভাবে কাজ করে তা বুঝার জন্য নিচের উদাহরণটি দেখে নেয়া যাক :
function TypeHint(int
$a){
var_dump($a);
}
TypeHint(5.5);
//Output: (int)5
ব্যাখ্যা : উপরের typeHint function এ আমরা $a parameter এর data type হিসেবে integer ঘোষণা করেছি , যার জন্য $a paramter টি আমাদের argument value 5.5 কে integer এ convert করে শুধু 5 return করবে। আর যেহেতু PHP একটা loosely type language তাই কোনো রকম error দেখাবেনা। তবে আমরা চাইলে declare function দিয়ে PHP কে run time strict type করে নিতে পারি। আর তখন PHP একটা fatal error দেখাবে।
declare(strict_types=1);
function TypeHint(int
$a){
var_dump($a);
}
TypeHint(5.5);
array দিয়ে type hinting এর একটা উদাহরণ দেখা যাক
declare(strict_types=1);
function
TypeHint(array $a){
return $a;
}
try {
var_dump(typeHint([5,6,5.5]));
echo "<br>";
var_dump(typeHint(5));
} catch (TypeError
$e) {
echo 'Error: '.$e->getMessage();
}
ব্যাখ্যা :try block এর মধ্যে প্রথম typeHint function টি কাজ করবে, কারণ সেখানে আমরা function এর Parameter কে type hint হিসেবে array ঘোষণা করেছি , আর এর জন্য argument এর value ও array পাঠিয়েছি। আর try block এর মধ্যে দ্বিতীয় typeHint function টি কাজ করবেনাl কারণ সেখানে argument এর value পাঠিয়েছি interger.
Return Type Hinting কি ?
PHP তে function call করা কালীন function থেকে যেসব value return করবে, তার data type কি হবে তা নির্ধারণ করার পদ্ধতিকে PHP তে Return Type Hinting বলে।
function sum($a, $b):
int {
return $a + $b;
}
// Note that a float
will be returned.
var_dump(sum(3,
2.5)); //Result: 5
ব্যাখ্যা : উপরের sum function এ parenthesis এর পর return data type হিসেবে integer ঘোষণা করেছি , যার জন্য আমাদের return value 5.5 কে integer এ convert করে শুধু 5 return করবে। আর যেহেতু PHP একটা loosely type language তাই কোনো রকম error দেখাবেনা। তবে আমরা চাইলে declare function দিয়ে PHP কে run time strict type করে নিতে পারি। আর তখন PHP একটা fatal error দেখাবে।
declare(strict_types=1);
PHP functions Echo VS
Return
পার্থক্য ১:
ধরুন আপনি দুটি function এর result নিয়ে summation বা যোগফল বের করবেন , সেক্ষেত্রে function দুটিতে return এর পরিবর্তে echo ব্যবহার করলে কি সমস্যা হতে পারে তা নিচের উদাহরণ দেখলেই বুঝতে পারবেন।
Result: 5 3 0
পাঠক লক্ষ্য করুন , আমরা আশা করেছিলাম add1 এবং add2 function দুটির রেজাল্ট দিয়ে তৃতীয় একটা যোগফল বের করব, কিন্তু function দুটি তে return এর পরিবর্তে echo ব্যবহার করায়, আমাদের কে 5 এবং 3 আলাদা প্রিন্ট করে দিয়েছে , আর আউটপুট আসছে শুধু 0, এবার আমরা echo এর পরিবর্তে return ব্যবহার করব। আর তাতেই আমাদের আশা অনুযায়ী add1 এবং add2 function দুটির রেজাল্ট দিয়ে তৃতীয় একটা যোগফল বের করব :
Result: 8
পার্থক্য ২:
function এর মধ্যে echo একাধিক বার ব্যবহার করা যায়, কিন্তু return শুধু মাত্র একবার ব্যবহার করা যায় অর্থাৎ function এর মধ্যে return এর পর আর কোনো code execute করেনা।
পার্থক্য ৩:
function এর মধ্যে echo ব্যবহার করলে function calling এর সময় আবার echo দিতে হয়না। কিন্তু function এর মধ্যে return ব্যবহার করলে এবং function থেকে output দেখাতে চাইলে , function calling এর সময় echo দিতে হয়।




0 Comments