Advertisement
Danack

closure factory

Feb 7th, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. class ClosureStatementFactory implements StatementFactory {
  2.  
  3. private $closure;
  4.  
  5. function __construct(callable $closure) {
  6. $this->closure = $closure;
  7. }
  8.  
  9. function create(\mysqli_stmt $statement, $queryString, LoggerInterface $logger) {
  10. $function = $this->closure;
  11. $statementWrapper = $function($statement, $queryString, $logger);
  12.  
  13. return $statementWrapper;
  14. }
  15. }
  16.  
  17.  
  18. function createTimerProxyXMySQLiStatementFactory(\Intahwebz\Timer $timer) {
  19.  
  20. $closure = function ($statement, $queryString, $logger) use ($timer) {
  21. $object = new \Intahwebz\DB\TimerProxyXMySQLiStatement(
  22. $statement, $queryString, $logger, $timer
  23. );
  24.  
  25. return $object;
  26. };
  27.  
  28. return new Intahwebz\DB\ClosureStatementFactory($closure);
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement