/** * Update/set/delete properties of entities */ protected function setProperties(Model\Entity $entity, $parameters) { foreach ($parameters as $key => $value) { if (in_array($key, array('operation', 'type', 'debug'))) { continue; // skip generic parameters } else { if (!Definition\PropertyDefinition::exists($key)) { throw new \Exception('Unknown property: \'' . $key . '\''); } } if ($value == '') { // dont use empty() because it also matches 0 $entity->deleteProperty($key); } else { $entity->setProperty($key, $value); } } $entity->checkProperties(); }