class Group { public $name; public $description; public $members = []; public function __construct($name, $description) { $this->name = $name; $this->description = $description; } public function addMember($user) { $this->members[] = $user; } public function removeMember($user) { $key = array_search($user, $this->members); if ($key !== false) { unset($this->members[$key]); } } } // Create a VIP group $vip = new Group("VIP", "Customers with special privileges"); // Add a user to the VIP group $john = new User("John", "Doe", "john.doe@example.com"); $vip->addMember($john);
class Group { public $name; public $description; public $permissions = []; public function __construct($name, $description) { $this->name = $name; $this->description = $description; } public function addPermission($permission) { $this->permissions[] = $permission; } public function removePermission($permission) { $key = array_search($permission, $this->permissions); if ($key !== false) { unset($this->permissions[$key]); } } } // Create user type groups $customers = new Group("Customers", "Regular website visitors"); $employees = new Group("Employees", "Site administrators"); $managers = new Group("Managers", "Supervisors of employees"); // Assign permissions to customer group $customers->addPermission("view_products"); // Assign permissions to employee group $employees->addPermission("update_website"); $employees->addPermission("view_employee_data"); // Assign permissions to manager group $managers->addPermission("approve_employee_leave"); $managers->addPermission("view_employee_data");The PHP Group model is part of the PHP Standard Library.