我目前正在尝试将
DOMPDF Wrapper for Laravel合并到我的项目中,但是我正在弄清楚如何将变量传递到PDF模板中.
根据说明,我的控制器中有:
//PrintController.PHP $data = array('name'=>'John Smith','date'=>'1/29/15'); $pdf = PDF::loadView('contract',$data); return $pdf->stream('temp.pdf');
在我看来:
//contract.PHP ... <p><?PHP echo $data->name ?><p> <p>Signature</p>
但是当我尝试渲染页面时,我收到错误:
ErrorException (E_UNKNowN) Undefined variable: data
我不确定为什么loadView()方法没有将$data变量传递给视图.在控制器和/或视图中设置它时是否缺少一个步骤?
您正在使用的loadView方法将在将数据传递给视图之前使用extract方法.此方法提取所有数组元素,并根据元素的键为它们创建变量
这意味着您的数组键将是您的变量名称,即$name而不是$data-> name.这在laravel中是相当标准的,例如在使用Blade Views时.
http://php.net/manual/en/function.extract.php