"; echo "

Task 3

"; class MotorVehicle { private $licenseNumber; private $make; private $series; public function __construct($licenseNumber, $make, $series) { $this->licenseNumber = $licenseNumber; $this->make = $make; $this->series = $series; } public function __toString() { return "License Number: {$this->licenseNumber}, Make: {$this->make}, Series: {$this->series}"; } public static function compareMakes($mv1, $mv2) { return $mv1->make === $mv2->make ? "Yes" : "No"; } // Getters for reading the private properties (needed for recreating objects) public function getLicenseNumber() { return $this->licenseNumber; } public function getMake() { return $this->make; } public function getSeries() { return $this->series; } } // Test case $mv1 = new MotorVehicle("BGS954GP", "Toyota", "Corolla"); $mv2 = new MotorVehicle("ZFR326GP", "Volkswagen", "Polo"); echo $mv1; echo "
"; echo $mv2; echo "
"; echo "Are they the same make? "; echo MotorVehicle::compareMakes($mv1, $mv2); echo "

"; // Function to create an array of MotorVehicle objects and write to a file function createAndWriteMotorVehiclesToFile($filename) { $vehicles = [ new MotorVehicle("BGS954GP", "Toyota", "Corolla"), new MotorVehicle("ZFR326GP", "Volkswagen", "Polo"), new MotorVehicle("XYZ123GP", "Toyota", "Yaris"), new MotorVehicle("ABC789GP", "Ford", "Fiesta"), new MotorVehicle("LMN456GP", "Honda", "Civic") ]; $file = fopen($filename, 'w'); foreach ($vehicles as $vehicle) { fwrite($file, $vehicle . PHP_EOL); } fclose($file); } // Function to read the content of the file and display it function readFileAndDisplayContent($filename) { $file = fopen($filename, 'r'); while ($line = fgets($file)) { echo $line . "
"; } fclose($file); } // Function to read the content of the file, recreate objects, and check their instances function readAndRecreateObjects($filename) { $file = fopen($filename, 'r'); while ($line = fgets($file)) { $parts = explode(", ", trim($line)); $licenseNumber = explode(": ", $parts[0])[1]; $make = explode(": ", $parts[1])[1]; $series = explode(": ", $parts[2])[1]; $vehicle = new MotorVehicle($licenseNumber, $make, $series); echo $vehicle . " " . (get_class($vehicle) === 'MotorVehicle' ? "Yes" : "No") . "
"; } fclose($file); } // Filename for storage $filename = 'motorvehicles.txt'; // Execute functions createAndWriteMotorVehiclesToFile($filename); readFileAndDisplayContent($filename); readAndRecreateObjects($filename); ?> ?>