function getPostById($id) { return storageGetItemById(ENTTY_POST, $id); /*$items = getAllPosts(); foreach ($items as $storedItem) { if ($storedItem['id'] == $id) { return $storedItem; } } return null;*/ }
function storageGetItemBy($entity, $attribute, $criteria) { $items = []; $files = scandir(DB_DIR); foreach ($files as $filename) { list($id) = sscanf($filename, getFilenamePattern($entity)); if ($id) { $item = storageGetItemById($entity, $id); if ($item && isset($item[$attribute]) && $item[$attribute] == $criteria) { $items[] = $item; } } } return $items; }
/** * @param string $entity имя сущности. * @param array $item сущность. * @return bool статус выполнения операции. */ function storageSaveItem($entity, array &$item) { $id = isset($item['id']) ? $item['id'] : 0; $storedItem = storageGetItemById($entity, (int) $id) ?: []; if ($id && !$storedItem) { return false; } $item = array_merge($storedItem, $item); if (!$id) { $items = storageGetAll($entity); foreach ($items as $storedItem) { if ($storedItem['id'] > $id) { $id = $storedItem['id']; } } $id += 1; } $item['id'] = (int) $id; $filename = storageCreateFilenameItem($entity, $id); $status = file_put_contents($filename, json_encode($item), LOCK_EX); return (bool) $status; }
/** * @param int $id уникальный идентификатор пользователя. * @return array|null возвращает пользователя по идентификатору. */ function userGetById($id) { return storageGetItemById(ENTITY_USER, (int) $id); }
function getUserById($id) { return storageGetItemById(ENTTY_USER, $id); }
/** * @param int $id уникальный идентификатор записи. * @return array|null возвращает запись в блоге по идентификатору. */ function getPostById($id) { return storageGetItemById(ENTITY_POST, (int) $id); }