コード例 #1
0
ファイル: Factory.php プロジェクト: o-log/php-model
 /**
  * Создает новый объект указанного класса и вызывает для него load().
  * @param $class_name string Имя класса, объект которого создаем.
  * @param $object_id string Идентификатор объекта
  * @return null|object Если удалось создать и загрузить объект - возвращается этот объект. Иначе (например, не удалось загрузить) - возвращает null.
  * @throws \Exception
  */
 public static function createAndLoadObject($class_name, $object_id)
 {
     $cache_key = self::getObjectCacheId($class_name, $object_id);
     $cached_obj = \OLOG\Cache\CacheWrapper::get($cache_key);
     if ($cached_obj !== false) {
         return $cached_obj;
     }
     $obj = new $class_name();
     $object_is_loaded = call_user_func_array(array($obj, "load"), array($object_id));
     if (!$object_is_loaded) {
         return null;
     }
     // store to cache
     $cache_ttl_seconds = 60;
     if ($obj instanceof \OLOG\Model\InterfaceCacheTtlSeconds) {
         $cache_ttl_seconds = $obj->getCacheTtlSeconds();
     }
     \OLOG\Cache\CacheWrapper::set($cache_key, $obj, $cache_ttl_seconds);
     return $obj;
 }
コード例 #2
0
ファイル: Auth.php プロジェクト: o-log/php-auth
 public static function storeUserSessionId($user_id, $user_session_id)
 {
     $stored = \OLOG\Cache\CacheWrapper::set(self::sessionCacheKey($user_session_id), $user_id, self::SESSION_LIFETIME_SECONDS);
     return $stored;
 }