गुण वर्ग के प्रकार हैं जिनका उपयोग अन्य वर्गों, कार्यों, वर्ग विधियों, वर्ग गुणों, स्थिरांक और मापदंडों में मेटाडेटा जोड़ने के लिए किया जा सकता है। रनटाइम के दौरान गुण कुछ नहीं करते हैं।
गुण कोड पर कोई प्रभाव नहीं डालते हैं, लेकिन प्रतिबिंब एपीआई के लिए उपलब्ध हैं। 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 ( )