Newscoop\NewscoopBundle\Services\SystemPreferencesService::__set PHP Метод

__set() публичный метод

Magic function to set given value for given property
public __set ( $property, $value ) : void
$property Given property
$value Value for given property
Результат void
    public function __set($property, $value)
    {
        if (empty($property) || !is_string($property)) {
            return;
        }
        $checkProperty = $this->em->getRepository('Newscoop\\NewscoopBundle\\Entity\\SystemPreferences')->findOneBy(array('option' => $property));
        if ($checkProperty) {
            $queryBuilder = $this->em->createQueryBuilder();
            $preference = $queryBuilder->update('Newscoop\\NewscoopBundle\\Entity\\SystemPreferences', 's')->set('s.value', ':value')->set('s.created_at', ':lastmodified')->where('s.option = :property')->setParameters(array('value' => $value, 'property' => $property, 'lastmodified' => new \DateTime('now')))->getQuery();
            $preference->execute();
            $this->{$property} = $value;
        } else {
            $newProperty = new SystemPreferences();
            $newProperty->setOption($property);
            $newProperty->setValue($value);
            $newProperty->setCreatedAt(new \DateTime('now'));
            $this->em->persist($newProperty);
            $this->em->flush();
        }
    }