<?php
class MyQuery{
public function query() {
die('callable called');
}
}
class QueryHandler {
public $query;
public function setQuery(callable $query) {
echo "checkpoint 1 reached"."\n";
$this->query = $query;
}
public function runQuery(){
$this->$query();
echo "end (should not show)"."\n";
}
}
echo "start"."\n";
$myQuery = new MyQuery;
$queryHandler = new QueryHandler;
$queryHandler->setQuery($myQuery->query());
$queryHandler->runQuery();