What are the advantages and disadvantages of using arrays of StdClass objects versus custom Customer types in PHP, as mentioned in the forum thread?
When deciding between using arrays of stdClass objects or custom Customer types in PHP, the main advantage of using arrays of stdClass objects is flexibility and ease of use, especially when dealing with data from external sources. On the other hand, custom Customer types offer better encapsulation and type safety, making the code more robust and easier to maintain.
// Using arrays of stdClass objects
$customers = [
(object) ['name' => 'John Doe', 'age' => 30],
(object) ['name' => 'Jane Smith', 'age' => 25]
];
foreach ($customers as $customer) {
echo $customer->name . ' is ' . $customer->age . ' years old' . PHP_EOL;
}
// Using custom Customer types
class Customer {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function displayInfo() {
return $this->name . ' is ' . $this->age . ' years old';
}
}
$customer1 = new Customer('John Doe', 30);
$customer2 = new Customer('Jane Smith', 25);
echo $customer1->displayInfo() . PHP_EOL;
echo $customer2->displayInfo() . PHP_EOL;