contentFileName = $inputReader->contentFileName; $this->content = $inputReader->readFile('content'); $this->url = $inputReader->url; $this->anonymous = $inputReader->anonymous; $this->safety = EnumHelper::postSafetyFromString($inputReader->safety); $this->source = $inputReader->source; $this->tags = preg_split('/[\s+]/', $inputReader->tags); } } public function validate(Validator $validator) { if ($this->content === null && $this->url === null) throw new \DomainException('Neither data or URL provided.'); $validator->validatePostTags($this->tags); if ($this->source !== null) $validator->validatePostSource($this->source); } }