From 519bfc5cb2b89cc3c9b016423761c77cc2f52f14 Mon Sep 17 00:00:00 2001 From: Jose Lorenzo Rodriguez Date: Sat, 31 Aug 2013 11:10:38 -0700 Subject: [PATCH] Removing calls to call_user_func in the Database namespace, we can safely expect callables to be passed instead --- lib/Cake/Database/Query.php | 16 ++++++++-------- lib/Cake/Database/Type.php | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/Cake/Database/Query.php b/lib/Cake/Database/Query.php index 4be050b5324..56fa294d8ab 100644 --- a/lib/Cake/Database/Query.php +++ b/lib/Cake/Database/Query.php @@ -282,7 +282,7 @@ public function traverse(callable $visitor) { protected function _traverseSelect(callable $visitor) { $parts = ['select', 'from', 'join', 'where', 'group', 'having', 'order', 'limit', 'offset', 'union']; foreach ($parts as $name) { - call_user_func($visitor, $this->_parts[$name], $name); + $visitor($this->_parts[$name], $name); } } @@ -295,7 +295,7 @@ protected function _traverseSelect(callable $visitor) { protected function _traverseDelete(callable $visitor) { $parts = ['delete', 'from', 'where']; foreach ($parts as $name) { - call_user_func($visitor, $this->_parts[$name], $name); + $visitor($this->_parts[$name], $name); } } @@ -308,7 +308,7 @@ protected function _traverseDelete(callable $visitor) { protected function _traverseUpdate(callable $visitor) { $parts = ['update', 'set', 'where']; foreach ($parts as $name) { - call_user_func($visitor, $this->_parts[$name], $name); + $visitor($this->_parts[$name], $name); } } @@ -321,7 +321,7 @@ protected function _traverseUpdate(callable $visitor) { protected function _traverseInsert(callable $visitor) { $parts = ['insert', 'values']; foreach ($parts as $name) { - call_user_func($visitor, $this->_parts[$name], $name); + $visitor($this->_parts[$name], $name); } } @@ -352,7 +352,7 @@ protected function _traverseInsert(callable $visitor) { */ public function select($fields = [], $overwrite = false) { if (is_callable($fields)) { - $fields = call_user_func($fields, $this); + $fields = $fields($this); } if (!is_array($fields)) { @@ -1457,7 +1457,7 @@ public function traverseExpressions(callable $callback) { $visitor = function($expression) use (&$visitor, $callback) { if (is_array($expression)) { foreach ($expression as $e) { - call_user_func($visitor, $e); + $visitor($e); } return; } @@ -1466,7 +1466,7 @@ public function traverseExpressions(callable $callback) { $expression->traverse($visitor); if (!($expression instanceof self)) { - call_user_func($callback, $expression); + $callback($expression); } } }; @@ -1568,7 +1568,7 @@ protected function _conjugate($part, $append, $conjunction, $types) { $expression = $this->_parts[$part] ?: $this->newExpr(); if (is_callable($append)) { - $append = call_user_func($append, $this->newExpr(), $this); + $append = $append($this->newExpr(), $this); } if ($expression->type() === $conjunction) { diff --git a/lib/Cake/Database/Type.php b/lib/Cake/Database/Type.php index fe0da274737..50283d931bf 100644 --- a/lib/Cake/Database/Type.php +++ b/lib/Cake/Database/Type.php @@ -56,7 +56,7 @@ class Type { 'uuid' => ['callback' => 'strval'], 'text' => ['callback' => 'strval'], 'boolean' => [ - 'callback' => '\Cake\Database\Type::boolval', + 'callback' => ['\Cake\Database\Type', 'boolval'], 'pdo' => PDO::PARAM_BOOL ], ]; @@ -186,7 +186,7 @@ protected function _basicTypeCast($value, Driver $driver) { if (!empty(self::$_basicTypes[$this->_name])) { $typeInfo = self::$_basicTypes[$this->_name]; if (isset($typeInfo['callback'])) { - return call_user_func($typeInfo['callback'], $value); + return $typeInfo['callback']($value); } } return $value;