অ্যাট্রিবিউট হল এমন ধরনের ক্লাস যা অন্যান্য ক্লাস, ফাংশন, ক্লাস মেথড, ক্লাস প্রোপার্টি, কনস্ট্যান্ট এবং প্যারামিটারে মেটাডেটা যোগ করতে ব্যবহার করা যেতে পারে। রানটাইমের সময় অ্যাট্রিবিউট কিছুই করে না।
বৈশিষ্ট্যগুলির কোডের উপর কোন প্রভাব নেই, তবে প্রতিফলন API এর জন্য উপলব্ধ। PHP 8-এর বৈশিষ্ট্যগুলি অন্যান্য কোডকে ক্লাসের বৈশিষ্ট্য এবং পদ্ধতিগুলি পরীক্ষা করার অনুমতি দেয়৷
-
আমাদের একটি ঘোষণার একাধিক গুণ থাকতে পারে৷
-
এটি ক্লাসের নামটি সমাধান করতে পারে৷
-
অ্যাট্রিবিউটের নামস্থান হতে পারে।
-
এটিতে শূন্য বা তার বেশি প্যারামিটার থাকতে পারে
PHP 8 অ্যাট্রিবিউট সিনট্যাক্স
-
PHP 8 এ, #[ ] (# এবং বর্গাকার বন্ধনী) একটি বৈশিষ্ট্য ঘোষণার জন্য ব্যবহৃত হয়।
-
আমরা একটি কমা দ্বারা পৃথক করা, #[ ] এর ভিতরে একাধিক বৈশিষ্ট্য ঘোষণা করতে পারি।
-
আর্গুমেন্টগুলি ব্যবহার করার জন্য ঐচ্ছিক কিন্তু বন্ধনী ().
এর ভিতরে আবদ্ধ করা প্রয়োজন -
আর্গুমেন্ট আক্ষরিক মান বা ধ্রুবক এক্সপ্রেশন হতে পারে।
অ্যাট্রিবিউট:সিনট্যাক্স
#[attribute]
উদাহরণস্বরূপ আমরা একটি ক্লাসে একটি বৈশিষ্ট্য ব্যবহার করতে পারি।
#[Attribute] Final class EmpClass{ }
উদাহরণ:অ্যাট্রিবিউট ফাংশন
#[Attr('param')] function Exam(){}
উদাহরণ:অ্যাট্রিবিউট ক্লাস
#[Attr('param')] class Exam{}
উদাহরণ:অ্যাট্রিবিউট ক্লাস প্রপার্টি
class Emp{ #[Attribute('param')] public $name; }
উদাহরণ:অ্যাট্রিবিউট ক্লাস কনস্ট্যান্টস
Class Emp{ #[Attribute('emp')] private const EMP = 'emp'; }
উদাহরণ:অ্যাট্রিবিউট ফাংশন
#[Attribute('emp')] function exam(){}
উদাহরণ:অ্যাট্রিবিউট মেথড আর্গুমেন্টস
Function emp(#[Attribute('param')]$name){ }
উদাহরণ:ফাংশন, পদ্ধতি, প্যারামিটার এবং ধ্রুবক ব্যবহার করে PHP 8 বৈশিষ্ট্য
<?php #[MyAttribute] class Emp { #[MyAttribute] public const EMP = 'emp'; #[MyAttribute] public $a; #[MyAttribute] public function foo(#[MyAttribute] $dept){} } $object = new #[MyAttribute] class(){}; #[MyAttribute] function f() {} $f1 = #[MyAttribute] function(){}; $f2 = #[MyAttribute] fn() => 1; print_r($f1); ?>
আউটপুট
Closure Object ( )