Pimcore\Db::startCapturingDefinitionModifications PHP Метод

startCapturingDefinitionModifications() публичный статический Метод

public static startCapturingDefinitionModifications ( $connection, string $method, array $args )
$method string
$args array
    public static function startCapturingDefinitionModifications($connection, $method, $args)
    {
        if ($method == "query") {
            if (self::isDDLQuery($args[0])) {
                self::logDefinitionModification($args[0]);
            }
        } else {
            $tablesToCheck = ["classes", "users_permission_definitions"];
            if (in_array($args[0], $tablesToCheck)) {
                self::$_logProfilerWasEnabled = $connection->getProfiler()->getEnabled();
                $connection->getProfiler()->setEnabled(true);
                self::$_logCaptureActive = true;
            }
        }
    }

Usage Example

Пример #1
0
 /**
  * @param string $method
  * @param array $args
  * @return mixed
  */
 public function callResourceMethod($method, $args)
 {
     $resource = $this->getResource();
     if ($this->inTransaction || Db::isWriteQuery($method, $args)) {
         $resource = $this->getWriteResource();
     }
     $capture = false;
     if (\Pimcore::inAdmin()) {
         $methodsToCheck = array("query", "update", "delete", "insert");
         if (in_array($method, $methodsToCheck)) {
             $capture = true;
             Db::startCapturingDefinitionModifications($resource, $method, $args);
         }
     }
     $r = call_user_func_array(array($resource, $method), $args);
     if (\Pimcore::inAdmin() && $capture) {
         Db::stopCapturingDefinitionModifications($resource);
     }
     return $r;
 }