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


PHP CakeSchema::before方法代码示例

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


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

示例1: _run

 /**
  * Runs sql from _create() or _update()
  *
  * @param array $contents
  * @param string $event
  * @param CakeSchema $Schema
  * @return void
  */
 protected function _run($contents, $event, &$Schema)
 {
     if (empty($contents)) {
         $this->err(__d('cake_console', 'Sql could not be run'));
         return;
     }
     Configure::write('debug', 2);
     $db = ConnectionManager::getDataSource($this->Schema->connection);
     foreach ($contents as $table => $sql) {
         if (empty($sql)) {
             $this->out(__d('cake_console', '%s is up to date.', $table));
         } else {
             if ($this->_dry === true) {
                 $this->out(__d('cake_console', 'Dry run for %s :', $table));
                 $this->out($sql);
             } else {
                 if (!$Schema->before(array($event => $table))) {
                     return false;
                 }
                 $error = null;
                 try {
                     $db->execute($sql);
                 } catch (PDOException $e) {
                     $error = $table . ': ' . $e->getMessage();
                 }
                 $Schema->after(array($event => $table, 'errors' => $error));
                 if (!empty($error)) {
                     $this->err($error);
                 } else {
                     $this->out(__d('cake_console', '%s updated.', $table));
                 }
             }
         }
     }
 }
开发者ID:sanyaade-machine-learning,项目名称:Catool,代码行数:43,代码来源:SchemaShell.php

示例2: _runSchema

 /**
  * Runs sql from _createSchema()
  *
  * NOTE: adapted from the schema shell lib/Cake/Console/Command/SchemaShell.php
  *
  * @param array $contents
  * @param string $event
  * @param CakeSchema $Schema
  * @return string
  */
 protected function _runSchema($db, $contents, $event, &$Schema)
 {
     $out = '';
     if (empty($contents)) {
         $this->error('Sql could not be run');
         return false;
     }
     foreach ($contents as $table => $sql) {
         if (empty($sql)) {
             $out .= sprintf("%s is up to date.\n", $table);
         } else {
             if (!$Schema->before(array($event => $table))) {
                 return false;
             }
             $error = null;
             try {
                 $db->execute($sql);
             } catch (PDOException $e) {
                 $error = $table . ': ' . $e->getMessage();
             }
             $Schema->after(array($event => $table, 'errors' => $error));
             if (!empty($error)) {
                 $this->error($error);
                 return false;
             } else {
                 $out .= sprintf("%s updated\n", $table);
             }
         }
     }
     return $out;
 }
开发者ID:sanyaade-machine-learning,项目名称:Catool,代码行数:41,代码来源:install.php


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