home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / phing / tasks / ext / dbdeploy / DbmsSyntaxFactory.php < prev    next >
Encoding:
PHP Script  |  2007-08-24  |  1.9 KB  |  60 lines

  1. <?php
  2. /*
  3.  *  $Id: DbDeployTask.php 59 2006-04-28 14:49:47Z lcrouch $
  4.  *
  5.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  6.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  7.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  8.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  9.  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  10.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  11.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  12.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  13.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  14.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  15.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  16.  *
  17.  * This software consists of voluntary contributions made by many individuals
  18.  * and is licensed under the LGPL. For more information please see
  19.  * <http://phing.info>.
  20.  */
  21.  
  22. require_once 'phing/Task.php';
  23. require_once 'phing/tasks/ext/dbdeploy/DbmsSyntax.php';
  24.  
  25. /**
  26.  *  Factory for generating dbms-specific syntax-generating objects
  27.  *
  28.  *  @author   Luke Crouch at SourceForge (http://sourceforge.net)
  29.  *  @version  $Revision: 1.1 $
  30.  *  @package  phing.tasks.ext.dbdeploy
  31.  */
  32.  
  33. class DbmsSyntaxFactory
  34. {
  35.     private $dbms;
  36.     
  37.     public function __construct($dbms)
  38.     {
  39.         $this->dbms = $dbms;
  40.     }
  41.     
  42.     public function getDbmsSyntax()
  43.     {
  44.         switch ($this->dbms){
  45.             case('sqlite') :
  46.                 require_once 'phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php';
  47.                 return new DbmsSyntaxSQLite();
  48.             case('mysql'):
  49.                 require_once 'phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php';
  50.                 return new DbmsSyntaxMysql();
  51.             case('mssql'):
  52.                 require_once 'phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php';
  53.                 return new DbmsSyntaxMsSql();
  54.             default:
  55.                 throw new Exception($this->dbms . ' is not supported by dbdeploy task.');
  56.         }
  57.     }
  58. }
  59.  
  60. ?>