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:
parent
2cc3823a95
commit
c083747f67
|
@ -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();
|
||||
}
|
Loading…
Reference in New Issue