示例#1
0
 /**
  * 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);
         }
     }
 }