public function addEntry($entry) { if (!$entry instanceof FeatureDirectory && !$entry instanceof FeatureFile) { throw new \InvalidArgumentException(sprintf('Expected FeatureDirectory or FeatureFile, got "%s".', is_object($entry) ? get_class($entry) : gettype($entry))); } $this->entries[] = $entry; return $this; }
private function addToDirectory(FeatureDirectory $directory, $feature) { if (false === strpos($feature, '/')) { $directory->addEntry(new FeatureFile($directory, $feature)); return; } list($name, $rest) = explode('/', $feature, 2); $this->addToDirectory($directory->getOrCreateDirectory($name), $rest); }