How can inheritance and subclassing be utilized in PHP to create different user classes such as Admin, Operator, and Standard?

To create different user classes such as Admin, Operator, and Standard in PHP, you can utilize inheritance and subclassing. This allows you to define a base User class with common properties and methods, and then create subclasses for each specific user type with additional or overridden functionality.

class User {
    protected $username;
    protected $email;

    public function __construct($username, $email) {
        $this->username = $username;
        $this->email = $email;
    }

    public function getUsername() {
        return $this->username;
    }

    public function getEmail() {
        return $this->email;
    }
}

class Admin extends User {
    public function isAdmin() {
        return true;
    }
}

class Operator extends User {
    public function isOperator() {
        return true;
    }
}

class Standard extends User {
    public function isStandard() {
        return true;
    }
}

// Example usage
$admin = new Admin('admin', 'admin@example.com');
$operator = new Operator('operator', 'operator@example.com');
$standard = new Standard('standard', 'standard@example.com');

echo $admin->getUsername(); // Output: admin
echo $operator->getEmail(); // Output: operator@example.com
echo $standard->isStandard(); // Output: true