当前位置: 首页>>代码示例>>PHP>>正文


PHP adoSchema::destroy方法代码示例

本文整理汇总了PHP中adoSchema::destroy方法的典型用法代码示例。如果您正苦于以下问题:PHP adoSchema::destroy方法的具体用法?PHP adoSchema::destroy怎么用?PHP adoSchema::destroy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在adoSchema的用法示例。


在下文中一共展示了adoSchema::destroy方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: executeAction

 /**
  * Execute a single installer action.
  * @param $action array
  * @return boolean
  */
 function executeAction($action)
 {
     switch ($action['type']) {
         case 'schema':
             $fileName = $action['file'];
             $this->log(sprintf('schema: %s', $action['file']));
             require_once 'adodb-xmlschema.inc.php';
             $schemaXMLParser = new adoSchema($this->dbconn);
             $dict =& $schemaXMLParser->dict;
             $dict->SetCharSet($this->dbconn->charSet);
             $sql = $schemaXMLParser->parseSchema($fileName);
             $schemaXMLParser->destroy();
             if ($sql) {
                 return $this->executeSQL($sql);
             } else {
                 $this->setError(INSTALLER_ERROR_DB, str_replace('{$file}', $fileName, __('installer.installParseDBFileError')));
                 return false;
             }
             break;
         case 'data':
             $fileName = $action['file'];
             $this->log(sprintf('data: %s', $action['file']));
             $sql = $this->dataXMLParser->parseData($fileName);
             if ($sql) {
                 return $this->executeSQL($sql);
             } else {
                 $this->setError(INSTALLER_ERROR_DB, str_replace('{$file}', $fileName, __('installer.installParseDBFileError')));
                 return false;
             }
             break;
         case 'code':
             $this->log(sprintf('code: %s %s::%s', isset($action['file']) ? $action['file'] : 'Installer', isset($action['attr']['class']) ? $action['attr']['class'] : 'Installer', $action['attr']['function']));
             if (isset($action['file'])) {
                 require_once $action['file'];
             }
             if (isset($action['attr']['class'])) {
                 return call_user_func(array($action['attr']['class'], $action['attr']['function']), $this);
             } else {
                 return call_user_func(array(&$this, $action['attr']['function']));
             }
             break;
         case 'note':
             $this->log(sprintf('note: %s', $action['file']));
             $this->notes[] = join('', file($action['file']));
             break;
     }
     return true;
 }
开发者ID:sedici,项目名称:ocs,代码行数:53,代码来源:Installer.inc.php

示例2: executeAction

 /**
  * Execute a single installer action.
  * @param $action array
  * @return boolean
  */
 function executeAction($action)
 {
     switch ($action['type']) {
         case 'schema':
             $fileName = $action['file'];
             $this->log(sprintf('schema: %s', $action['file']));
             require_once './lib/pkp/lib/adodb/adodb-xmlschema.inc.php';
             $schemaXMLParser = new adoSchema($this->dbconn);
             $dict =& $schemaXMLParser->dict;
             $dict->SetCharSet($this->dbconn->charSet);
             $sql = $schemaXMLParser->parseSchema($fileName);
             $schemaXMLParser->destroy();
             if ($sql) {
                 return $this->executeSQL($sql);
             } else {
                 $this->setError(INSTALLER_ERROR_DB, str_replace('{$file}', $fileName, __('installer.installParseDBFileError')));
                 return false;
             }
             break;
         case 'data':
             $fileName = $action['file'];
             $condition = isset($action['attr']['condition']) ? $action['attr']['condition'] : null;
             $includeAction = true;
             if ($condition) {
                 $funcName = create_function('$installer,$action', $condition);
                 $includeAction = $funcName($this, $action);
             }
             $this->log('data: ' . $action['file'] . ($includeAction ? '' : ' (skipped)'));
             if (!$includeAction) {
                 break;
             }
             $sql = $this->dataXMLParser->parseData($fileName);
             // We might get an empty SQL if the upgrade script has
             // been executed before.
             if ($sql) {
                 return $this->executeSQL($sql);
             }
             break;
         case 'code':
             $condition = isset($action['attr']['condition']) ? $action['attr']['condition'] : null;
             $includeAction = true;
             if ($condition) {
                 $funcName = create_function('$installer,$action', $condition);
                 $includeAction = $funcName($this, $action);
             }
             $this->log(sprintf('code: %s %s::%s' . ($includeAction ? '' : ' (skipped)'), isset($action['file']) ? $action['file'] : 'Installer', isset($action['attr']['class']) ? $action['attr']['class'] : 'Installer', $action['attr']['function']));
             if (!$includeAction) {
                 return true;
             }
             // Condition not met; skip the action.
             if (isset($action['file'])) {
                 require_once $action['file'];
             }
             if (isset($action['attr']['class'])) {
                 return call_user_func(array($action['attr']['class'], $action['attr']['function']), $this, $action['attr']);
             } else {
                 return call_user_func(array(&$this, $action['attr']['function']), $this, $action['attr']);
             }
             break;
         case 'note':
             $condition = isset($action['attr']['condition']) ? $action['attr']['condition'] : null;
             $includeAction = true;
             if ($condition) {
                 $funcName = create_function('$installer,$action', $condition);
                 $includeAction = $funcName($this, $action);
             }
             if (!$includeAction) {
                 break;
             }
             $this->log(sprintf('note: %s', $action['file']));
             $this->notes[] = join('', file($action['file']));
             break;
     }
     return true;
 }
开发者ID:EreminDm,项目名称:water-cao,代码行数:80,代码来源:Installer.inc.php

示例3: execute

 /**
  * Parse an XML database file and output the corresponding SQL statements.
  * See lib/pkp/dtd/xmlSchema.dtd for the format of the XML files.
  */
 function execute()
 {
     require_once './lib/pkp/lib/adodb/adodb-xmlschema.inc.php';
     if (in_array($this->command, array('print', 'save'))) {
         // Don't connect to actual database (so parser won't build upgrade XML)
         $conn = new DBConnection(Config::getVar('database', 'driver'), null, null, null, null, true, Config::getVar('i18n', 'connection_charset'));
         $dbconn = $conn->getDBConn();
     } else {
         // Create or upgrade existing database
         $dbconn =& DBConnection::getConn();
     }
     $schema = new adoSchema($dbconn);
     $dict =& $schema->dict;
     $dict->SetCharSet(Config::getVar('i18n', 'database_charset'));
     if ($this->type == 'schema') {
         // Parse XML schema files
         $sql = $schema->parseSchema($this->inputFile);
         switch ($this->command) {
             case 'execute':
                 $schema->ExecuteSchema();
                 break;
             case 'save':
             case 'save_upgrade':
                 $schema->SaveSQL($this->outputFile);
                 break;
             case 'print':
             case 'print_upgrade':
             default:
                 echo @$schema->PrintSQL('TEXT') . "\n";
                 break;
         }
     } else {
         if ($this->type == 'data') {
             // Parse XML data files
             $dataXMLParser = new DBDataXMLParser();
             $dataXMLParser->setDBConn($dbconn);
             $sql = $dataXMLParser->parseData($this->inputFile);
             switch ($this->command) {
                 case 'execute':
                     $schema->addSQL($sql);
                     $schema->ExecuteSchema();
                     break;
                 case 'save':
                 case 'save_upgrade':
                     $schema->addSQL($sql);
                     $schema->SaveSQL($this->outputFile);
                     break;
                 case 'print':
                 case 'print_upgrade':
                 default:
                     $schema->addSQL($sql);
                     echo @$schema->PrintSQL('TEXT') . "\n";
                     break;
             }
             $schema->destroy();
             $dataXMLParser->destroy();
         }
     }
 }
开发者ID:farhanabbas1983,项目名称:ojs-1,代码行数:63,代码来源:XmlToSqlTool.inc.php


注:本文中的adoSchema::destroy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。