1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-04 21:28:02 +02:00

used type callable

This commit is contained in:
David Grudl
2015-11-02 21:32:29 +01:00
parent 2bb99ef3a0
commit 26a66c92d9
3 changed files with 6 additions and 11 deletions

View File

@@ -450,7 +450,7 @@ class Sqlite3Driver implements Dibi\Driver, Dibi\ResultDriver
* @param int num of arguments * @param int num of arguments
* @return void * @return void
*/ */
public function registerFunction($name, $callback, $numArgs = -1) public function registerFunction($name, callable $callback, $numArgs = -1)
{ {
$this->connection->createFunction($name, $callback, $numArgs); $this->connection->createFunction($name, $callback, $numArgs);
} }
@@ -464,7 +464,7 @@ class Sqlite3Driver implements Dibi\Driver, Dibi\ResultDriver
* @param int num of arguments * @param int num of arguments
* @return void * @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); $this->connection->createAggregate($name, $rowCallback, $agrCallback, $numArgs);
} }

View File

@@ -17,18 +17,14 @@ abstract class HashMapBase
private $callback; 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; $this->callback = $callback;
} }

View File

@@ -172,10 +172,9 @@ class Result implements IDataSource
/** /**
* Set a factory to create fetched object instances. These should extend the Row class. * Set a factory to create fetched object instances. These should extend the Row class.
* @param callback
* @return self * @return self
*/ */
public function setRowFactory($callback) public function setRowFactory(callable $callback)
{ {
$this->rowFactory = $callback; $this->rowFactory = $callback;
return $this; return $this;