public function save($arguments) { $this->facade->name = $arguments['name']; $composer = new ComposerFacade('composer.json'); $this->facade->namespace = $composer->getNamespace() . '\\Domain\\Model'; foreach ($arguments['properties'] as $property => $data) { if (isset($data['_remove'])) { $this->facade->removeProperty($property); } else { if (isset($existingProperties[$property])) { if ($property !== $data['name']) { $this->facade->renameProperty($property, $data['name']); } } else { $this->facade->addProperty($data['name'], NULL, array('propertyType' => $data['type'])); } } } $this->facade->save(); }