You are here

abstract class AbstractModel in Smart IP 7.2

Same name and namespace in other branches
  1. 6.2 includes/vendor/geoip2/geoip2/src/Model/AbstractModel.php \GeoIp2\Model\AbstractModel

@ignore

Hierarchy

  • class \GeoIp2\Model\AbstractModel implements \GeoIp2\Compat\JsonSerializable

Expanded class hierarchy of AbstractModel

File

includes/vendor/geoip2/geoip2/src/Model/AbstractModel.php, line 10

Namespace

GeoIp2\Model
View source
abstract class AbstractModel implements JsonSerializable {
  protected $raw;

  /**
   * @ignore
   */
  public function __construct($raw) {
    $this->raw = $raw;
  }

  /**
   * @ignore
   */
  protected function get($field) {
    if (isset($this->raw[$field])) {
      return $this->raw[$field];
    }
    else {
      if (preg_match('/^is_/', $field)) {
        return false;
      }
      else {
        return null;
      }
    }
  }

  /**
   * @ignore
   */
  public function __get($attr) {
    if ($attr != "instance" && property_exists($this, $attr)) {
      return $this->{$attr};
    }
    throw new \RuntimeException("Unknown attribute: {$attr}");
  }

  /**
   * @ignore
   */
  public function __isset($attr) {
    return $attr != "instance" && isset($this->{$attr});
  }
  public function jsonSerialize() {
    return $this->raw;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AbstractModel::$raw protected property
AbstractModel::get protected function @ignore
AbstractModel::jsonSerialize public function
AbstractModel::__construct public function @ignore 5
AbstractModel::__get public function @ignore 1
AbstractModel::__isset public function @ignore