42 lines
917 B
PHP
Raw Normal View History

2014-03-12 13:11:49 +03:00
<?php
namespace DesignPatterns\Repository;
/**
* Interface Storage
2014-03-12 13:11:49 +03:00
*
* This interface describes methods for accessing storage.
* Concrete realization could be whatever we want - in memory, relational database, NoSQL database and etc
*
* @package DesignPatterns\Repository
*/
interface Storage
2014-03-12 13:11:49 +03:00
{
/**
* Method to persist data
* Returns new id for just persisted data
*
* @param array() $data
* @return int
*/
public function persist($data);
/**
* Returns data by specified id.
* If there is no such data null is returned
*
* @param int $id
* @return array|null
*/
public function retrieve($id);
/**
* Delete data specified by id
* If there is no such data - false returns, if data has been successfully deleted - true returns
*
* @param int $id
* @return bool
*/
public function delete($id);
2014-11-05 10:24:19 +01:00
}