lundi 4 avril 2016

Need some pattern

Please provide function or class for make this code clarify.

            if(\is_array($value)) {
                foreach($value as $v) {
                    if ($validator->isValid($v) === false) {
                        if ($logFiltered) {
                            // create a log item
                            $logItem = new ProductFilteredItem($testObject->getAggregateRoot());
                            $logItem->setActorId($actorId);
                            $logItem->setProductContainerId($testObject->getProductId());
                            $logItem->setAddedOn(new \Core\Domain\DateTime());
                            $logItem->setFilterId($validator->getFilterId());
                            $logItem->setFilteredValue((string)$v);
                            $testObject->getProductFilteredLog()->addItem($logItem);
                            return false;
                        }
                    }
                }
            } else {
                if ($validator->isValid($value) === false) {
                    if ($logFiltered) {
                        // create a log item
                        $logItem = new ProductFilteredItem($testObject->getAggregateRoot());
                        $logItem->setActorId($actorId);
                        $logItem->setProductContainerId($testObject->getId());
                        $logItem->setAddedOn(new \Core\Domain\DateTime());
                        $logItem->setFilterId($validator->getFilterId());
                        $logItem->setFilteredValue((string)$value);
                        $testObject->getProductFilteredLog()->addItem($logItem);
                    }
                    return false;
                }
            }

1'st problem is duplicate code. 2'nd problem is make it easy to read. Anyone have pattern or function? class?

Thanks!

Aucun commentaire:

Enregistrer un commentaire