ভূমিকা
PHP একটি ক্লাসে একটি আইডেন্টিফায়ার ডিফাইন করতে দেয় যাতে একটি কনস্ট্যান্ট মান থাকে, যা প্রতি ক্লাস বেসিসে অপরিবর্তিত থাকে। ক্লাসের ভিতরে ভেরিয়েবল বা প্রপার্টি থেকে আলাদা করার জন্য, কনস্ট্যান্টের নাম $ সিম্বল দিয়ে শুরু হয় না এবং const কোয়ালিফায়ার দিয়ে ডিফাইন করা হয়।
কনস্ট্যান্টের ডিফল্ট ভিজিবিলিটি পাবলিক, যদিও ডেফিনিশনে অন্যান্য মডিফায়ার ব্যবহার করা যেতে পারে। কনস্ট্যান্টের মান অবশ্যই একটি নির্দিষ্ট এক্সপ্রেশন হতে হবে, ভেরিয়েবল, ফাংশন কল বা প্রপার্টি নয়। কনস্ট্যান্টের মান ক্লাসের নাম ব্যবহার করে স্কোপ রেজোলিউশন অপারেটর দিয়ে অ্যাক্সেস করা হয়। একটি মেথডের ভিতরে তবে এটি self ভেরিয়েবল 통해 রেফার করা যেতে পারে।
সিনট্যাক্স
class SomeClass{
const CONSTANT = 'constant value';
}
echo SomeClass::CONSTANT;
কনস্ট্যান্টের নাম কেস-সংবেদনশীল। প্রথাগতভাবে, কনস্ট্যান্টের নাম বড় হাতের অক্ষরে দেওয়া হয়।
ক্লাস কনস্ট্যান্ট উদাহরণ
এই উদাহরণটি দেখায় কিভাবে একটি ক্লাস কনস্ট্যান্ট ডিফাইন এবং অ্যাক্সেস করা হয়:
উদাহরণ
<?php
class square{
const PI=M_PI;
var $side=5;
function area(){
$area=$this->side**2*self::PI;
return $area;
}
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>
আউটপুট
এটি নিচের ফলাফল তৈরি করবে:
PI=3.1415926535898 area=78.539816339745
এক্সপ্রেশন হিসেবে ক্লাস কনস্ট্যান্ট
এই উদাহরণে, ক্লাস কনস্ট্যান্টকে একটি এক্সপ্রেশন অ্যাসাইন করা হয়েছে:
উদাহরণ
<?php
const X = 22;
const Y=7;
class square {
const PI=X/Y;
var $side=5;
function area(){
$area=$this->side**2*self::PI;
return $area;
}
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>
আউটপুট
এটি নিচের ফলাফল তৈরি করবে:
PI=3.1428571428571 area=78.571428571429
ক্লাস কনস্ট্যান্ট ভিজিবিলিটি মডিফায়ার
উদাহরণ
<?php
class example {
const X=10;
private const Y=20;
}
$s1=new example();
echo "public=". example::X. "\n";
echo "private=" . $s1->Y ."\n";
echo "private=" . $example::Y ."\n";
?>
আউটপুট
এটি নিচের ফলাফল তৈরি করবে:
public=10 PHP Notice: Undefined property: example::$Y in line 11 private= PHP Fatal error: Uncaught Error: Cannot access private const example::Y