* @author Louis Lapointe * @link http://pmo.developpez.com/ * @since PhpMyObject v0.14 * @version $Revision: $ * @copyright Copyright (C) 2007-2008 Nicolas Boiteux * @copyright Copyright (C) 2008 Louis Lapointe * @license GPLv3 {@link http://www.gnu.org/licenses/gpl} * @filesource * */ /** * This interface defines the methods a class must implement * to provide a working SQL request to the {@link PMO_MyController} * class * * @package PhpMyObject * @subpackage PMO_Core * @see PMO_MyRequest */ interface PMO_Request{ /** * the implementation must store the passed $field arguments * in the {@link PMO_MyRequest::$field} property and return * the object itself. * * @param string $field,... * @return object */ public function field($field); /** * the implementation must store the passed $from arguments * in the {@link PMO_MyRequest::$from} property and return * the object itself. * * @param string $from,... * @return object */ public function from($from); /** * the implementation must store the passed $where arguments * in the {@link PMO_MyRequest::$where} property and return * the object itself * * @param string $where,... * @return object */ public function where($where); /** * the implementation must store the passed $order arguments * in the {@link PMO_MyRequest::$order} property and return * the object itself. * * @param string $order,... * @return object */ public function order($order); /** * the implementation must store the passed $having arguments * in the {@link PMO_MyRequest::$having} array and return * the object itself. * * @param string $having,... * @return object */ public function having($having); /** * the implementation must store the passed $groupBy arguments * in the {@link PMO_MyRequest::$groupBy} array and return * the object itself. * * @param string $groupBy,... * @return object */ public function groupby($groupby); /** * the implementation must store the passed $limit argument * in the {@link PMO_MyRequest::$limit} property. * * @param integer $limit * @return object * */ public function limit($limit); /** * the implementation must store the passed $offset argument * in the {@link PMO_MyRequest::$offset} property. * * @param integer $offset * @return object * */ public function offset($offset); /** * the implementation must create the SQL query using * the stored values. * * @see PMO_MyRequest::toString() * @return string */ public function toString(); /** * the implementation must reset the object */ public function reset(); } ?>