|
|
- <?php
-
- namespace OSM\Element\Member;
-
- class Member {
-
- public int $ref;
- public string $role;
-
- public static function createFromArray($array) {
- assert(is_array($array));
-
- $hasType = isset($array['type']);
- assert($hasType);
-
- $className = __NAMESPACE__.'\\'.ucfirst($array['type']);
- $hasClass = class_exists($className);
-
- $instance = new $className();
-
- $hasRef = isset($array['ref']);
- assert($hasRef);
- $instance->ref = (int) $array['ref'];
-
- $hasRole = isset($array['role']);
- assert($hasRole);
- $instance->role = (string) $array['role'];
-
- $instance->completeFromArray($array);
-
- return $instance;
- }
-
- public function isSame(Member $other): bool {
- return ($this->ref === $other->ref);
- }
-
- }
|