/** * Опредление URI по локальному идентификатору * @param int $id Локальный идентификатор * @return null|string URI или null, если не найдено соответствий */ function globalId($id) { if (empty($id)) { return null; } if (isset($this->_global_ids[$id])) { return $this->_global_ids[$id]; } // Поиск URI по идентифкатору $q = $this->db->prepare('SELECT uri FROM {ids} WHERE `id`=? LIMIT 0,1 FOR UPDATE'); $q->execute([$id]); if ($row = $q->fetch(DB::FETCH_ASSOC)) { $uri = $row['uri']; $this->_local_ids[$uri] = intval($id); $this->_global_ids[$id] = $uri; return $uri; } return null; }
function __construct($key, $params) { $this->db = DB::connect($params); }