PHP 8 में, कंस्ट्रक्टर प्रॉपर्टी प्रमोशन जोड़ा जाता है। यह साधारण वस्तुओं का निर्माण करते समय बहुत सारे बॉयलरप्लेट कोड को कम करने में मदद करता है। यह सुविधा हमें कंस्ट्रक्टर पैरामीटर सूची में क्लास फ़ील्ड, कंस्ट्रक्टर परिभाषा और वैरिएबल असाइनमेंट, सभी को एक सिंटैक्स में संयोजित करने की अनुमति देती है।
हम कह सकते हैं कि क्लास प्रॉपर्टीज और कंस्ट्रक्टर को निर्दिष्ट करने के बजाय, हम कंस्ट्रक्टर प्रॉपर्टी प्रमोशन का उपयोग करके उन सभी को जोड़ सकते हैं।
उदाहरण 1:PHP 7 कोड
<?php
class Account {
public float $a;
public float $b;
public float $c;
public function __construct(
float $a = 0.0,
float $b = 0.0,
float $c = 0.0,
)
{
$this->a = $x;
$this->b = $y;
$this->c = $z;
}
}
?> उदाहरण 2:PHP 8 कोड
हम उपरोक्त PHP 7 कोड को PHP 8 में निम्न प्रकार से फिर से लिख सकते हैं -
<?php
class Account {
public function __construct(
public float $a = 0.0,
public float $b = 0.0,
public float $c = 0.0,
) {}
}
$Account =new Account (10.90,20.0,30.80);
print_r($Account->a);
print_r($Account->a);
print_r($Account->a);
?> आउटपुट
10.9 20 30.8
उपरोक्त कोड में, हमने कंस्ट्रक्टर हस्ताक्षर में संपत्ति की परिभाषा और जनसंख्या इनलाइन को जोड़ दिया। यह कोड दोहराव को हटा देगा।
उदाहरण 3:कंस्ट्रक्टर संपत्ति संवर्धन के लिए PHP 8 कोड
<?php
class Employee {
public function __construct(
public int $id,
public string $name,
) {}
}
$employee = new Employee(11, 'Alex');
print_r($employee->id);
print_r($employee->name);
?> आउटपुट
11 Alex