В настоящее время я делаю это так, но, кажется, не может быть надлежащим образом:Как назначить функцию члена в массив и назовем его
class Name
{
protected $jobs2do;
public function __construct($string) {
$this->jobs2do[] = $this->do;
}
public function do() {
...
}
}
Поскольку непосредственно назначить функцию вызовет предупреждение, должен сделать что-то вроде:
function func()
{
...
}
$func_array[] = 'func';
сказать, положил его в строку, но я не знаю, как это сделать, когда это функция член.
Является ли следующая версия OK ?:
class Name
{
public $jobs2do;
public function __construct($string) {
$this->jobs2do[] = array($this,'do');
}
public function do() {
...
}
}
когда называют его просто:
$instance = new Name();
foreach ($instance->jobs2do as $job)
{
call_user_func($job);
}
последнее редактирование должно работать ... – Jet