<?php
class QueryHandler {
public $input;
public function render(Closure $query){
$this->input = "test";
$query();
}
}
class MyQuery{
public $handler;
public function __construct(){
$this->handler = new QueryHandler;
}
public function query(){
return function () {
echo $this->handler->input;
};
}
public function render(){
$this->handler($this->query());
}
}
echo "start"."\n";
$myQuery = new MyQuery;
$myQuery->render();
start
Fatal error: Uncaught Error: Call to undefined method MyQuery::handler() in /in/p8eiS:35
Stack trace:
#0 /in/p8eiS(43): MyQuery->render()
#1 {main}
thrown in /in/p8eiS on line 35
Process exited with code 255.