コード例 #1
0
 /**
  * Handle dynamic method calls.
  *
  * @param  string  $method
  * @param  array   $parameters
  * @return mixed
  */
 public function __call($method, $parameters)
 {
     $start = microtime(true);
     $result = call_user_func_array([$this->collection, $method], $parameters);
     if ($this->connection->logging()) {
         // Once we have run the query we will calculate the time that it took to run and
         // then log the query, bindings, and execution time so we will report them on
         // the event that the developer needs them. We'll log time in milliseconds.
         $time = $this->connection->getElapsedTime($start);
         $query = [];
         // Convert the query parameters to a json string.
         array_walk_recursive($parameters, function (&$item, $key) {
             if ($item instanceof ObjectID) {
                 $item = (string) $item;
             }
         });
         // Convert the query parameters to a json string.
         foreach ($parameters as $parameter) {
             try {
                 $query[] = json_encode($parameter);
             } catch (Exception $e) {
                 $query[] = '{...}';
             }
         }
         $queryString = $this->collection->getCollectionName() . '.' . $method . '(' . implode(',', $query) . ')';
         $this->connection->logQuery($queryString, [], $time);
     }
     return $result;
 }
コード例 #2
0
 /**
  * Handle dynamic method calls.
  *
  * @param  string  $method
  * @param  array   $parameters
  * @return mixed
  */
 public function __call($method, $parameters)
 {
     $query = array();
     // Build the query string.
     foreach ($parameters as $parameter) {
         try {
             $query[] = json_encode($parameter);
         } catch (Exception $e) {
             $query[] = '{...}';
         }
     }
     $start = microtime(true);
     $result = call_user_func_array(array($this->collection, $method), $parameters);
     // Once we have run the query we will calculate the time that it took to run and
     // then log the query, bindings, and execution time so we will report them on
     // the event that the developer needs them. We'll log time in milliseconds.
     $time = $this->connection->getElapsedTime($start);
     // Convert the query to a readable string.
     $queryString = $this->collection->getName() . '.' . $method . '(' . join(',', $query) . ')';
     $this->connection->logQuery($queryString, array(), $time);
     return $result;
 }
コード例 #3
0
ファイル: _ide_helper.php プロジェクト: ryutaroOuchi/Laravel
 /**
  * Get the elapsed time since a given starting point.
  *
  * @param int $start
  * @return float 
  * @static 
  */
 public static function getElapsedTime($start)
 {
     return \Jenssegers\Mongodb\Connection::getElapsedTime($start);
 }