dompdf 0.8.2 generates PHP errors: "Uncaught Error: Class 'Dompdf' not found"
dompdf 0.8.2 generates PHP errors: "Uncaught Error: Class 'Dompdf' not found"
我正在处理的遗留应用程序使用 dompdf
从 html 内容生成 PDF。我们正在努力将 php 5x 更新为 php 7x,因此我们需要将 dompdf
从 0.6.1 更新为 0.8 .2.
我首先在独立文件中测试了 0.8.2,它工作正常。
在应用程序中,pdf 创建发生在一个函数内,像这样 (但更复杂的 IRL):
function createPDF($html,$filename,$paper,$orientation)
{
require_once("static/dompdf_0.8.2/autoload.inc.php");
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
$dompdf->stream($filename);
return true;
}
这针对上面函数中的 use Dompdf\Dompdf
行生成了 PHP Parse error: syntax error, unexpected 'use' (T_USE)
。
我尝试将 require 和 use 行移到函数之外 (再次简化)
require_once("static/dompdf_0.8.2/autoload.inc.php");
use Dompdf\Dompdf;
function createPDF($html,$filename,$paper,$orientation)
{
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
$dompdf->stream($filename);
return true;
}
这现在在 $dompdf = new Dompdf();
行生成 PHP Fatal error: Uncaught Error: Class 'Dompdf' not found
。
是否有相对简单的方法让 dompdf 0.8.2 在一个函数中工作?
您的代码应该可以工作:
require_once 'static/dompdf_0.8.2/src/autoload.inc.php';
use Dompdf\Dompdf;
function createPDF($html,$filename,$paper,$orientation)
{
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
$dompdf->stream($filename);
return true;
}
确保 require_once
被执行(成功)以加载 autoload.inc.php
。
我正在处理的遗留应用程序使用 dompdf
从 html 内容生成 PDF。我们正在努力将 php 5x 更新为 php 7x,因此我们需要将 dompdf
从 0.6.1 更新为 0.8 .2.
我首先在独立文件中测试了 0.8.2,它工作正常。
在应用程序中,pdf 创建发生在一个函数内,像这样 (但更复杂的 IRL):
function createPDF($html,$filename,$paper,$orientation)
{
require_once("static/dompdf_0.8.2/autoload.inc.php");
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
$dompdf->stream($filename);
return true;
}
这针对上面函数中的 use Dompdf\Dompdf
行生成了 PHP Parse error: syntax error, unexpected 'use' (T_USE)
。
我尝试将 require 和 use 行移到函数之外 (再次简化)
require_once("static/dompdf_0.8.2/autoload.inc.php");
use Dompdf\Dompdf;
function createPDF($html,$filename,$paper,$orientation)
{
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
$dompdf->stream($filename);
return true;
}
这现在在 $dompdf = new Dompdf();
行生成 PHP Fatal error: Uncaught Error: Class 'Dompdf' not found
。
是否有相对简单的方法让 dompdf 0.8.2 在一个函数中工作?
您的代码应该可以工作:
require_once 'static/dompdf_0.8.2/src/autoload.inc.php';
use Dompdf\Dompdf;
function createPDF($html,$filename,$paper,$orientation)
{
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
$dompdf->stream($filename);
return true;
}
确保 require_once
被执行(成功)以加载 autoload.inc.php
。