+++ /dev/null
-<?php
-
-namespace RedBeanPHP;
-
-/**
- * Adapter Interface.
- * Describes the API for a RedBeanPHP Database Adapter.
- * This interface defines the API contract for
- * a RedBeanPHP Database Adapter.
- *
- * @file RedBeanPHP/Adapter.php
- * @author Gabor de Mooij and the RedBeanPHP Community
- * @license BSD/GPLv2
- *
- * @copyright
- * (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community.
- * This source file is subject to the BSD/GPLv2 License that is bundled
- * with this source code in the file license.txt.
- */
-interface Adapter
-{
- /**
- * Should returns a string containing the most recent SQL query
- * that has been processed by the adapter.
- *
- * @return string
- */
- public function getSQL();
-
- /**
- * Executes an SQL Statement using an array of values to bind
- * If $noevent is TRUE then this function will not signal its
- * observers to notify about the SQL execution; this to prevent
- * infinite recursion when using observers.
- *
- * @param string $sql string containing SQL code for database
- * @param array $bindings array of values to bind to parameters in query string
- * @param boolean $noevent no event firing
- *
- * @return void
- */
- public function exec( $sql, $bindings = array(), $noevent = FALSE );
-
- /**
- * Executes an SQL Query and returns a resultset.
- * This method returns a multi dimensional resultset similar to getAll
- * The values array can be used to bind values to the place holders in the
- * SQL query.
- *
- * @param string $sql string containing SQL code for database
- * @param array $bindings array of values to bind to parameters in query string
- *
- * @return array
- */
- public function get( $sql, $bindings = array() );
-
- /**
- * Executes an SQL Query and returns a resultset.
- * This method returns a single row (one array) resultset.
- * The values array can be used to bind values to the place holders in the
- * SQL query.
- *
- * @param string $sql string containing SQL code for database
- * @param array $bindings array of values to bind to parameters in query string
- *
- * @return array
- */
- public function getRow( $sql, $bindings = array() );
-
- /**
- * Executes an SQL Query and returns a resultset.
- * This method returns a single column (one array) resultset.
- * The values array can be used to bind values to the place holders in the
- * SQL query.
- *
- * @param string $sql string containing SQL code for database
- * @param array $bindings array of values to bind to parameters in query string
- *
- * @return array
- */
- public function getCol( $sql, $bindings = array() );
-
- /**
- * Executes an SQL Query and returns a resultset.
- * This method returns a single cell, a scalar value as the resultset.
- * The values array can be used to bind values to the place holders in the
- * SQL query.
- *
- * @param string $sql string containing SQL code for database
- * @param array $bindings array of values to bind to parameters in query string
- *
- * @return string
- */
- public function getCell( $sql, $bindings = array() );
-
- /**
- * Executes the SQL query specified in $sql and takes
- * the first two columns of the resultset. This function transforms the
- * resultset into an associative array. Values from the the first column will
- * serve as keys while the values of the second column will be used as values.
- * The values array can be used to bind values to the place holders in the
- * SQL query.
- *
- * @param string $sql string containing SQL code for database
- * @param array $bindings array of values to bind to parameters in query string
- *
- * @return array
- */
- public function getAssoc( $sql, $bindings = array() );
-
- /**
- * Executes the SQL query specified in $sql and indexes
- * the row by the first column.
- *
- * @param string $sql Sstring containing SQL code for databaseQL
- * @param array $bindings values to bind
- *
- * @return array
- */
- public function getAssocRow( $sql, $bindings = array() );
-
- /**
- * Returns the latest insert ID.
- *
- * @return integer
- */
- public function getInsertID();
-
- /**
- * Returns the number of rows that have been
- * affected by the last update statement.
- *
- * @return integer
- */
- public function getAffectedRows();
-
- /**
- * Returns a database agnostic Cursor object.
- *
- * @param string $sql string containing SQL code for database
- * @param array $bindings array of values to bind to parameters in query string
- *
- * @return Cursor
- */
- public function getCursor( $sql, $bindings = array() );
-
- /**
- * Returns the original database resource. This is useful if you want to
- * perform operations on the driver directly instead of working with the
- * adapter. RedBean will only access the adapter and never to talk
- * directly to the driver though.
- *
- * @return mixed
- */
- public function getDatabase();
-
- /**
- * This method is part of the RedBean Transaction Management
- * mechanisms.
- * Starts a transaction.
- *
- * @return void
- */
- public function startTransaction();
-
- /**
- * This method is part of the RedBean Transaction Management
- * mechanisms.
- * Commits the transaction.
- *
- * @return void
- */
- public function commit();
-
- /**
- * This method is part of the RedBean Transaction Management
- * mechanisms.
- * Rolls back the transaction.
- *
- * @return void
- */
- public function rollback();
-
- /**
- * Closes database connection.
- *
- * @return void
- */
- public function close();
-}