From 26a66c92d9aeb9e2f88f346827e45b3ffdbbed48 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Mon, 2 Nov 2015 21:32:29 +0100 Subject: [PATCH] used type callable --- src/Dibi/Drivers/Sqlite3Driver.php | 4 ++-- src/Dibi/HashMap.php | 10 +++------- src/Dibi/Result.php | 3 +-- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/Dibi/Drivers/Sqlite3Driver.php b/src/Dibi/Drivers/Sqlite3Driver.php index 98e80aae..bf0fa9b5 100644 --- a/src/Dibi/Drivers/Sqlite3Driver.php +++ b/src/Dibi/Drivers/Sqlite3Driver.php @@ -450,7 +450,7 @@ class Sqlite3Driver implements Dibi\Driver, Dibi\ResultDriver * @param int num of arguments * @return void */ - public function registerFunction($name, $callback, $numArgs = -1) + public function registerFunction($name, callable $callback, $numArgs = -1) { $this->connection->createFunction($name, $callback, $numArgs); } @@ -464,7 +464,7 @@ class Sqlite3Driver implements Dibi\Driver, Dibi\ResultDriver * @param int num of arguments * @return void */ - public function registerAggregateFunction($name, $rowCallback, $agrCallback, $numArgs = -1) + public function registerAggregateFunction($name, callable $rowCallback, callable $agrCallback, $numArgs = -1) { $this->connection->createAggregate($name, $rowCallback, $agrCallback, $numArgs); } diff --git a/src/Dibi/HashMap.php b/src/Dibi/HashMap.php index 63218f10..e33bc5c6 100644 --- a/src/Dibi/HashMap.php +++ b/src/Dibi/HashMap.php @@ -17,18 +17,14 @@ abstract class HashMapBase private $callback; - public function __construct($callback) + public function __construct(callable $callback) { - $this->setCallback($callback); + $this->callback = $callback; } - public function setCallback($callback) + public function setCallback(callable $callback) { - if (!is_callable($callback)) { - $able = is_callable($callback, TRUE, $textual); - throw new \InvalidArgumentException("Handler '$textual' is not " . ($able ? 'callable.' : 'valid PHP callback.')); - } $this->callback = $callback; } diff --git a/src/Dibi/Result.php b/src/Dibi/Result.php index 2fb2849c..2ddab6c6 100644 --- a/src/Dibi/Result.php +++ b/src/Dibi/Result.php @@ -172,10 +172,9 @@ class Result implements IDataSource /** * Set a factory to create fetched object instances. These should extend the Row class. - * @param callback * @return self */ - public function setRowFactory($callback) + public function setRowFactory(callable $callback) { $this->rowFactory = $callback; return $this;