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


PHP Registry::setChangedTables方法代码示例

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


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

示例1: query

 /**
  * Execute query
  *
  * @param string $query unparsed query
  * @param mixed ... unlimited number of variables for placeholders
  * @return mixed result set for "SELECT" statement / generated ID for an AUTO_INCREMENT field for insert statement / Affected rows count for DELETE/UPDATE statements
  */
 public static function query($query)
 {
     if (!self::$raw) {
         fn_set_hook('db_query', $query);
     }
     $args = func_get_args();
     $query = self::process($query, array_slice($args, 1), true);
     $result = false;
     if (!empty($query)) {
         if (!self::$raw) {
             fn_set_hook('db_query_process', $query);
         }
         if (defined('DEBUG_QUERIES')) {
             fn_print_r($query);
         }
         $time_start = microtime(true);
         $result = self::$_db->query($query);
         $a_row = self::$_db->affectedRows($result);
         Debugger::set_query($query, microtime(true) - $time_start);
         self::_error($result, $query);
         // Get last inserted ID
         $i_id = self::$_db->insertId();
         if (!self::$raw) {
             fn_set_hook('db_query_executed', $query, $result);
         }
         // "true" will be returned for Update/Delete/Insert/Replace statements. "SELECT" returns MySQLi/PDO object
         if ($result === true) {
             $cmd = substr($query, 0, 6);
             // Check if it was insert statement with auto_increment value and return it
             if (!empty($i_id)) {
                 $result = $i_id;
             } elseif ($cmd == 'UPDATE' || $cmd == 'DELETE' || $cmd == 'INSERT') {
                 $result = $a_row;
             }
             // Check if query updated data in the database and run cache handlers
             if (!empty($result) && preg_match("/^(UPDATE|INSERT INTO|REPLACE INTO|DELETE FROM) " . self::$_table_prefix . "(\\w+) /", $query, $m)) {
                 Registry::setChangedTables($m[2]);
             }
         }
     }
     self::$raw = false;
     return $result;
 }
开发者ID:OneataBogdan,项目名称:lead_coriolan,代码行数:50,代码来源:Database.php

示例2: deleteTemplatesCache

 /**
  * Removes compiled block templates
  * @return bool
  */
 public static function deleteTemplatesCache()
 {
     static $is_deleted = false;
     if (!$is_deleted) {
         // mark cache as outdated
         Registry::setChangedTables('bm_blocks');
         // run cache routines
         Registry::save();
         $is_deleted = true;
     }
     return $is_deleted;
 }
开发者ID:arpad9,项目名称:bygmarket,代码行数:16,代码来源:RenderManager.php

示例3: query

 /**
  * Execute query
  *
  * @param string $query unparsed query
  * @param mixed ... unlimited number of variables for placeholders
  * @return mixed result set for "SELECT" statement / generated ID for an AUTO_INCREMENT field for insert statement / Affected rows count for DELETE/UPDATE statements
  */
 public static function query($query)
 {
     if (!self::$raw) {
         fn_set_hook('db_query', $query);
     }
     $args = func_get_args();
     $query = self::process($query, array_slice($args, 1), true);
     $result = false;
     if (!empty($query)) {
         if (!self::$raw) {
             fn_set_hook('db_query_process', $query);
         }
         if (defined('DEBUG_QUERIES')) {
             fn_print_r($query);
         }
         $time_start = microtime(true);
         $result = self::$db->query($query);
         if (!self::error($result, $query)) {
             $insert_id = self::$db->insertId();
             Debugger::set_query($query, microtime(true) - $time_start);
             if (!self::$raw) {
                 fn_set_hook('db_query_executed', $query, $result);
             }
             // "true" will be returned for Update/Delete/Insert/Replace statements. "SELECT" returns MySQLi/PDO object
             if ($result === true) {
                 $cmd = substr($query, 0, 6);
                 // Check if it was insert statement with auto_increment value and return it
                 if (!empty($insert_id)) {
                     $result = $insert_id;
                 } elseif ($cmd == 'UPDATE' || $cmd == 'DELETE' || $cmd == 'INSERT') {
                     $result = self::$db->affectedRows($result);
                 }
                 // Check if query updated data in the database and run cache handlers
                 if (!empty($result) && preg_match("/^(UPDATE|INSERT INTO|REPLACE INTO|DELETE FROM) " . self::$table_prefix . "(\\w+) /", $query, $m)) {
                     Registry::setChangedTables($m[2]);
                 }
             }
         } else {
             // Lost connection, try to reconnect
             if (self::tryReconnect()) {
                 return self::query($query);
                 // Assume that the table is broken
                 // Try to repair
             } elseif (preg_match("/'(\\S+)\\.(MYI|MYD)/", self::$db->error(), $matches)) {
                 self::$db->query("REPAIR TABLE {$matches['1']}");
                 return self::query($query);
             }
         }
     }
     self::$raw = false;
     return $result;
 }
开发者ID:askzap,项目名称:ultimate,代码行数:59,代码来源:Database.php


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