349 of 410 menu

मैजिक मेथड __set

मैजिक मेथड __set ऑटोमैटिकली तब कॉल होता है जब किसी ऐसी प्रॉपर्टी को वैल्यू असाइन करने की कोशिश की जाती है जो मौजूद नहीं है या करंट कॉन्टेक्स्ट में एक्सेसिबल नहीं है। यह मेथड दो पैरामीटर लेती है: प्रॉपर्टी का नाम और वह वैल्यू जिसे असाइन करने की कोशिश की जा रही है।

सिंटैक्स

public function __set(string $name, mixed $value): void

उदाहरण

आइए एक क्लास बनाते हैं जो नॉन-एक्सिस्टेंट प्रॉपर्टीज सेट करने की कोशिशों को इंटरसेप्ट करने के लिए __set का उपयोग करेगी:

<?php class User { private $data = []; public function __set($name, $value) { $this->data[$name] = $value; } public function getData() { return $this->data; } } $user = new User(); $user->email = 'test@example.com'; $user->age = 25; print_r($user->getData()); ?>

कोड एक्ज़ीक्यूशन का रिजल्ट:

Array ( [email] => test@example.com [age] => 25 )

उदाहरण

डेटा को सेट करने से पहले वैलिडेशन के लिए __set का उपयोग:

<?php class Product { private $price; public function __set($name, $value) { if ($name === 'price') { if (!is_numeric($value) || $value < 0) { throw new Exception('Invalid price value'); } $this->price = $value; } } public function getPrice() { return $this->price; } } $product = new Product(); $product->price = 100; echo $product->getPrice(); ?>

कोड एक्ज़ीक्यूशन का रिजल्ट:

100

यह भी देखें

  • मैजिक मेथड __get,
    जो अनएक्सेसिबल प्रॉपर्टीज को पढ़ने की कोशिशों को इंटरसेप्ट करती है
  • मैजिक मेथड __isset,
    जो प्रॉपर्टीज के अस्तित्व की जांच को इंटरसेप्ट करती है
हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें