3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Aircraft { /** * @var string */ private $aircraftType; /** * @var string */ private $departureCity; /** * @var string */ private $arrivalCity; public function __construct( string $aircraftType, string $departureCity, string $arrivalCity ) { $this->aircraftType = $aircraftType; $this->departureCity = $departureCity; $this->arrivalCity = $arrivalCity; } public function __toString(): string { return sprintf( "Bienvenue à bord de notre %s.\n" . "Ce vol est en décollage imminent de %s et aura pour arrivée %s.", $this->aircraftType(), $this->departureCity(), $this->arrivalCity() ); } public function aircraftType(): string { return $this->aircraftType; } public function departureCity(): string { return $this->departureCity; } public function arrivalCity(): string { return $this->arrivalCity; } } class PrivateJet extends Aircraft { private $arrivalCity; /** * @var string */ private $airportDestination; public function __construct( string $aircraftType, string $departureCity, string $arrivalCity, string $airportDestination ) { parent::__construct($aircraftType, $departureCity, $arrivalCity); $this->airportDestination = $airportDestination; } public function __toString(): string { return sprintf( "%s\n" . "Notre arrivé se fera à l'aéroport %s.", parent::__toString(), $this->airportDestination() ); } public function airportDestination(): string { return $this->airportDestination; } } echo new PrivateJet('Wijet', 'Lyon', 'Bordeaux', 'de Bordeaux-Mérignac');

preferences:
55.4 ms | 402 KiB | 5 Q