<?php
class Server
{
private $hostname;
private $cpu;
private $ram;
public function __construct($hostname, $cpu, $ram)
{
$this->hostname = $hostname;
$this->cpu = $cpu;
$this->ram = $ram;
}
public function getHostname()
{
return $this->hostname;
}
public function setHostname($hostname)
{
return $this->hostname = ($hostname == null ? $this->_exception("Hostname must not be null.") : $hostname);
}
public function getCpu()
{
return $this->cpu;
}
public function setCpu($cpu)
{
return $this->cpu = ($cpu == null ? $this->_exception("CPU must not be null.") : $cpu);
}
public function getRam()
{
return $this->ram;
}
public function setRam($ram)
{
return $this->ram = ($ram == null ? $this->_exception("RAM must not be null.") : $ram);
}
public function getRamInGb()
{
return $this->ram / 1024;
}
public function addRam($ram)
{
return $this->ram = ($ram === null ? $this->_exception("RAM must not be null.") : $this->ram + $ram);
}
public function subRam($ram)
{
return $this->ram = ($this->ram - $ram < 0 ? $this->_exception("RAM must not result in a below-zero value.") : $this->ram - $ram);
}
protected function _exception($text = null)
{
throw new InvalidArgumentException($text);
}
}