благодаря ответу Ахмеда Нура я могу найти другой способ
что я сделал:
скопировать эту функцию
function render($__php, $__data)
{
$obLevel = ob_get_level();
ob_start();
extract($__data, EXTR_SKIP);
try {
eval('?' . '>' . $__php);
} catch (Exception $e) {
while (ob_get_level() > $obLevel) ob_end_clean();
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $obLevel) ob_end_clean();
throw new FatalThrowableError($e);
}
return ob_get_clean();
}
затем вызвать такую функцию
foreach ($data as $key) {
//first i need to get the template from database
$template = Blade::compileString($key->value);
$objDemo->template = $this->render($template, ['receiver' => 'Raven', 'demo_one' => 'Demo One Value', 'demo_two' => 'Demo Two Value', 'sender' => 'SenderUserName']);
}