public function setFilePath($filePath)
{
$writeable = false;
if (file_exists($filePath) && is_writeable($filePath)) {
$writeable = true;
} elseif (!file_exists($filePath)) {
if (is_writeable(dirname($filePath))) {
$writeable = true;
}
}
if ($writeable) {
$this->filePath = $filePath;
$this->load();
} else {
throw new \Exception($filePath . " is not writeable");
}
}