Delete
Setting
Add New Item
Menu List
Title | Content Type | Order | Action | ||||||
---|---|---|---|---|---|---|---|---|---|
{{kb_content.name}} {{kb_content.name}} | {{setValue(content_types, kb_content.content_type)}} | {{kb_content.sort_order}} | Preview Edit Edit Content | ||||||
{{kb_content.name}} | {{setValue(content_types, kb_content.content_type)}} | {{kb_content.sort_order}} | Preview Edit Edit Content | ||||||
No record |
ফাংশনে ভ্যারিয়েবলের ব্যবহার
পিএইচপি হচ্ছে একটি সার্ভার সাইড স্ক্রিপ্টিং ল্যাংগুয়েজ বা সার্ভার নিয়ন্ত্রিত স্ক্রিপ্টিং ভাষা। অর্থাৎ স্ক্রিপ্ট গুলোকে ইউজার দ্বারা কম্পিউটার থেকে নিয়ন্ত্রনের পরিবর্তে সার্ভার থেকে নিয়ন্ত্রণ করা হয়। যেহেতু এই ভাষাটিকে সরাসরি সার্ভার থেকে নিয়ন্ত্রণ করা হয় সেহেতু ওয়েবসাইটের গতি, প্রসেসিং, ইউজার ইন্টারফেস, কাজের দ্রুতগতি সব কিছুতেই বিশাল রকমের উন্নতি ঘঠবে এটাই স্বাভাবিক। পিএইচপি ব্যবহারের ফলে ডাইনামিকালি সব কাজ হয়ে যায় বলেই এটিকে ওয়েব ডেভেলপেমেন্টের জন্য সবচেয়ে বেশি ব্যবহার করা হয়। একারণে কেউ কেউ পিএইচপি'কে ওয়েব ডেভেলপেমেন্ট ল্যাংগুয়েজ বলে থাকে।
ইতোমধ্যে আমরা দেখেছি ফাংশনে কিভাবে আর্গুমেন্ট পাস করতে হয়। মুলত এই আর্গুমেন্ট গুলো সংরক্ষণ করা হয় লোকাল ভ্যারিয়েবল এ। এই ভ্যারিয়েবলগুলোকে ফাংশনের বাইরে থেকে এক্সেস করা যায় না। ফাংশনটি যখন কল করা হবে তখন এই ভ্যারিয়েবলগুলো মেমোরিতে সংরক্ষিত হবে। ফাংশন শেষে এই ভ্যারিয়েবলগুলোর আর কোন অস্বিত্ব থাকবে না ।
পিএইচপিতে মুলত দুই ধরনের ভ্যারিয়েবল এর ধারণা প্রচলিত, একটিgloba
ভ্যারিয়েবল আর অন্যটিlocal
ভ্যারিয়েবল। সাধারণত কোড ব্লকের বাইরের পিএইচপিতে ভ্যারিয়েবল গুলো গ্লোবাল হয়, এসব ক্ষেত্রে আপনার প্রোগ্রামে একই নামে দুটি ভ্যারিয়েবল লিখলে ২য় টির দ্বারা প্রথমটির ভ্যালু প্রতিস্থাপিত হবে। অন্যদিকে ফাংশন / মেথডে ব্যবহারিত ভ্যারিয়েবলগুলো সাধারনত লোকাল ভ্যারিয়েবল হয়। ঐ ভ্যারিয়েবলগুলোকে শুধুমাত্র ওই মেথড / ফাংশনের মধ্যে ব্যবহার করা যাবে।
Example:
<?php
$myvar = 100; // $myvar একটি গ্লোবাল ভ্যারিয়েবল
function myFunc()
{
$myvar = 50; // $myvar একটি লোকাল ভ্যারিয়েবল
}
?>
চাইলে গ্লোবাল ভ্যারিয়েবলগুলোকে সরাসির ফাংশন / মেথডের ভেতরে ব্যবহার করা যায়। এর জন্global
স্টেটমেন্ট ব্যবহার করতে হবে
Example:
<?php
$myvar = 100; // $myvar একটি গ্লোবাল ভ্যারিয়েবল
function myFunc()
{
global $myvar;
echo $myvar // $myvar একটি গ্লোবাল ভ্যারিয়েবল
}
?>
এখানে আমরা ফাংশনের ভিতর থেকেও গ্লোবাল $myvar
ভ্যারিয়েবলটি এ্যাক্সেস করেছি ।
পিএইচপিতে যখন কোন ফাংশনে / মেথডে কোন লোকাল ভ্যারিয়েবল ব্যবহার করা হয় তখন ফাংশনটি কল হওয়ার সময় ভ্যারিয়েবলটি তৈরি হয় এবং কল শেষ হলে ধ্বংস হয়ে যায়। অনেক সময় আমাদের ওই ফাংশনটি পরবর্তীতে কল করা হলে ভ্যারিয়েবলটির আগের মান জানার দরকারstatic
স্টেটমেন্ট ব্যবহার করে ওই ভ্যারিয়েবলটির ভ্যালু পরবর্তী কলের জন্য সংরক্ষন করা সম্ভব । নিচে একটি উদাহরন দেওয়া হল ।
মনে করা যাক আমাদের একটি ফাংশন আছে যার নাquery()
এখন আমাদের পুরো প্রোগ্রামে সকল ডাটাবেস কুয়েরির জন্য আমরা এই ফাংশনটি ব্যবহার করব। এই কারনে আমারা ফাংশনের মধ্যে একটি stati
ভ্যারিয়েবল ব্যবহার করব। যা কতবার এই ফাংশনটিকে কল করা হয়ে তার হিসাব রাখবে।
Example:
input:
<?php
function query()
{
static $count;
$count += 1;
$queryResult = "This is Query Result";
return array('query' => $queryResult, 'count' => $count);
}
// চারবার কল করা হয়েছে।
var_dump(query());
var_dump(query());
var_dump(query());
var_dump(query());
?>
output:
array (size=2)
'query' => string 'This is Query Result' (length=20)
'count' => int 1
array (size=2)
'query' => string 'This is Query Result' (length=20)
'count' => int 2
array (size=2)
'query' => string 'This is Query Result' (length=20)
'count' => int 3
array (size=2)
'query' => string 'This is Query Result' (length=20)
'count' => int 4