Add "Fetchable" interface for classes providing data retrieval

Classes for retrieving data must implement the Fetchable interface
which defines the usual fetch*() functions.
This commit is contained in:
Eric Lippmann 2014-04-15 15:40:07 +02:00
parent 2cc3823a95
commit c083747f67
1 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,48 @@
<?php
namespace Icinga\Data;
/**
* Interface for retrieving data
*/
interface Fetchable
{
/**
* Retrieve an array containing all rows of the result set
*
* @return array
*/
public function fetchAll();
/**
* Fetch the first row of the result set
*
* @return mixed
*/
public function fetchRow();
/**
* Fetch a column of all rows of the result set as an array
*
* @param int $columnIndex Index of the column to fetch
*
* @return array
*/
public function fetchColumn($columnIndex = 0);
/**
* Fetch the first column of the first row of the result set
*
* @return string
*/
public function fetchOne();
/**
* Fetch all rows of the result set as an array of key-value pairs
*
* The first column is the key, the second column is the value.
*
* @return array
*/
public function fetchPairs();
}