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;