/** * Write system key to database. * * @param string $systemkey * @param string $string * @param string type * @param mixed value * @return boolean */ public function SystemWrite($systemkey, $name, $type, $value) { // convert value to string switch ($type) { case 'd': case 'dat': case 'date': case 't': case 'tim': case 'time': if ($value instanceof \DateTime) { // convert DateTime to string $value = $value->format("c"); } else { if (is_int($value)) { // nothing to do } else { if (is_string($value)) { // nothing to do } } } break; default: } // insert / update if ($this->isModeRedis()) { //return $this->redis->set($this->redis_prefix . $systemkey . $this->redis_key_name_delimiter . $name, $value); return $this->redis->hSet($this->redis_prefix . self::SYSTEM_HASH_KEY, $systemkey . $this->redis_key_name_delimiter . $name . $this->redis_key_name_delimiter . $type, $value); } else { if ($this->isModeDoctrine()) { $entity = $this->system->findOneBy(array('systemkey' => $systemkey, 'name' => $name)); if (!$entity) { $entity = new SysKey(); $entity->setSystemKey($systemkey); $entity->setName($name); } $entity->setType($type); $entity->setValue($value); $this->em->persist($entity); $this->em->flush(); return !is_null($entity); } } }