ForwardFW
[ class tree: ForwardFW ] [ index: ForwardFW ] [ all elements ]

Source for file Sql.php

Documentation is available at Sql.php

  1. <?php
  2. declare(encoding "utf-8");
  3. /**
  4.  * This file is part of ForwardFW a web application framework.
  5.  *
  6.  * This library is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2.1 of the License, or (at your option) any later version.
  10.  *
  11.  * This library is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.  * General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public
  17.  * License along with this library; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19.  *
  20.  * PHP version 5
  21.  *
  22.  * @category   Object
  23.  * @package    ForwardFW
  24.  * @subpackage List
  25.  * @author     Alexander Opitz <opitz.alexander@primacom.net>
  26.  * @copyright  2009-2010 The Authors
  27.  * @license    http://www.gnu.org/copyleft/gpl.html GNU General Public License
  28.  * @version    SVN: $Id: $
  29.  * @link       http://forwardfw.sourceforge.net
  30.  * @since      File available since Release 0.0.1
  31.  */
  32.  
  33. require_once 'ForwardFW/Controller/DataLoader.php';
  34. require_once 'ForwardFW/List.php';
  35. require_once 'ForwardFW/Object/Sql.php';
  36.  
  37. /**
  38.  * A list of models that can load themself from DB.
  39.  *
  40.  * @category   Object
  41.  * @package    ForwardFW
  42.  * @subpackage List
  43.  * @author     Alexander Opitz <opitz.alexander@primacom.net>
  44.  * @license    http://www.gnu.org/copyleft/gpl.html GNU General Public License
  45.  * @link       http://forwardfw.sourceforge.net
  46.  */
  47. {
  48.     /**
  49.      * Name of the table, which is mostly a prefix and the object name
  50.      * in lowercase.
  51.      *
  52.      * @var string 
  53.      */
  54.     protected $strTableName = '';
  55.  
  56.     /**
  57.      * Prefix for the table name
  58.      *
  59.      * @access private
  60.      * @var string 
  61.      */
  62.     protected $strTablePrefix = '';
  63.  
  64.     /**
  65.      * Name of the connection which should be used for this object to load/save.
  66.      *
  67.      * @access private
  68.      * @var string 
  69.      */
  70.     protected $strDBConnection = '';
  71.  
  72.     /**
  73.      * constructor
  74.      *
  75.      * @param string $_strTablePrefix  Prefix der Tabellennamen im Projekt.
  76.      * @param string $_strDBConnection Name of the DB connection to use.
  77.      *
  78.      * @return new instance
  79.      */
  80.     function __construct($_strTablePrefix ''$_strDBConnection 'default')
  81.     {
  82.         parent::__construct();
  83.  
  84.         $this->strTablePrefix  = $_strTablePrefix;
  85.         $this->strDBConnection = $_strDBConnection;
  86.  
  87.             $this->strTablePrefix$this->strObjectName
  88.         );
  89.     }
  90.  
  91.     /**
  92.      * Loads all data from given table.
  93.      *
  94.      * @return boolean True if object was loadable otherwise false.
  95.      */
  96.     function loadAll()
  97.     {
  98.         return $this->loadByWhereClause('');
  99.     }
  100.  
  101.     /**
  102.      * Loads all data from given table by given where clause.
  103.      *
  104.      * @param string $strWhereClause Where clause for the select.
  105.      * @param string $strGroupBy     Group by clause for the select.
  106.      * @param string $strOrderBy     Order by clause for the select.
  107.      * @param string $strLimit       Limit clause for the select.
  108.      *
  109.      * @return boolean True if object was loadable otherwise false.
  110.      */
  111.     function loadByWhereClause(
  112.         $strWhereClause$strGroupBy ''$strOrderBy ''$strLimit ''
  113.     {
  114.         $objDataLoader ForwardFW_Controller_DataLoader::getInstance(
  115.             $this->strApplicationName
  116.         );
  117.         $arResult $objDataLoader->loadFromDB(
  118.             $this->strDBConnection,
  119.             '*',
  120.             $this->strTableName,
  121.             $strWhereClause,
  122.             $strGroupBy,
  123.             $strOrderBy,
  124.             $strLimit
  125.         );
  126.         if ($arResult !== false{
  127.             $this->loadByArray($arResult);
  128.             return true;
  129.         }
  130.         return false;
  131.     }
  132. }
  133. ?>

Documentation generated on Sun, 30 Jan 2011 20:46:46 +0100 by phpDocumentor 1.4.3