У меня небольшая проблема с анонимной функцией в php. Эту функцию выполняет фреймворк, который передает туда переменную. Я хотел бы переопределить эту переменную, не меняя фреймворк кода, возможно ли это в php? Вот код, объясняющий, что происходит. Код Freamwork:
protected function callMessageBuilder($callback, $message)
{
if ($callback instanceof Closure)
{
return call_user_func($callback, $message);
}
}
Вот мой код с анонимной функцией с переменной $ message, переданной freamwork. Я хочу заменить его заранее подготовленной переменной.
public function sendEmail(){
$ourMessage = $this->getMessage();
\Mail::send($this->getTemplate(), $this->getData(), function ($message) use ($ourMessage) {
$message = $ourMessage;
//This change is not visible in freamwork code callback
});
}
Я знал, как это сделать, переписав код произвольной работы так, чтобы он использовал ссылки, но я хочу избежать этого. Есть какое-нибудь решение? Вот весь код этого класса из freamwork Вот весь код из freamwork: https://github.com/laravel/framework/blob/5.1/src/Illuminate/Mail/Mailer.php