__debugInfo मेथड
__debugInfo मेथड तब कॉल की जाती है जब var_dump और print_r फ़ंक्शंस द्वारा ऑब्जेक्ट के बारे में जानकारी आउटपुट की जाती है। इसे उन गुणों के साथ एक ऐरे वापस करना चाहिए जिन्हें प्रदर्शित करने की आवश्यकता है। यह गोपनीय डेटा को छिपाने या अतिरिक्त डीबग जानकारी जोड़ने की अनुमति देता है।
सिंटैक्स
public function __debugInfo(): array
उदाहरण
ऑब्जेक्ट को डंप करते समय गोपनीय डेटा छुपाएं:
<?php
class User {
private $password;
public $name;
public function __construct($name, $password) {
$this->name = $name;
$this->password = $password;
}
public function __debugInfo() {
return [
'name' => $this->name,
'password' => '******'
];
}
}
$user = new User('John', 'secret123');
var_dump($user);
?>
कोड निष्पादन का परिणाम:
object(User)#1 (2) {
["name"]=> string(4) "John"
["password"]=> string(6) "******"
}
उदाहरण
अतिरिक्त डीबग जानकारी जोड़ें:
<?php
class Product {
public $id;
public $price;
public function __construct($id, $price) {
$this->id = $id;
$this->price = $price;
}
public function __debugInfo() {
return [
'id' => $this->id,
'price' => $this->price,
'price_with_tax' => $this->price * 1.2
];
}
}
$product = new Product(101, 100);
var_dump($product);
?>
कोड निष्पादन का परिणाम:
object(Product)#1 (3) {
["id"]=> int(101)
["price"]=> int(100)
["price_with_tax"]=> float(120)
}
उदाहरण
प्रदर्शन के लिए गुणों को फ़िल्टर करें:
<?php
class Config {
private $dbHost = 'localhost';
private $dbUser = 'admin';
private $cacheEnabled = true;
public function __debugInfo() {
return [
'cacheEnabled' => $this->cacheEnabled
];
}
}
$config = new Config();
print_r($config);
?>
कोड निष्पादन का परिणाम:
Config Object (
[cacheEnabled] => 1
)