我尝试使用composer安装dompdf,我按照Installing DOMPDF with Composer
的说明进行操作到目前为止我已经
了在composer.json
中...
"require": {
...
"dompdf/dompdf": "~0.6.1"
},
"autoload": {
....
运行composer update
require __DIR__.'/../vendor/autoload.php';
def("DOMPDF_ENABLE_AUTOLOAD", true);
更改为def("DOMPDF_ENABLE_AUTOLOAD", false);
```
use Dompdf\Adapter\CPDF;
use Dompdf\Dompdf;
use Dompdf\Exception;
require_once "vendor/dompdf/dompdf/dompdf_config.inc.php";
class ArticleController extends BaseController {
...
public function downloadPdf(){
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');
$dompdf->render();
$dompdf->output();
}
}
所以现在当我尝试下载pdf时,如果给我错误:
异常' Symfony \ Component \ Debug \ Exception \ FatalErrorException'同 消息' Class' Dompdf \ Dompdf'找不到'
我是否错过了任何设置步骤或做错了什么?
答案 0 :(得分:0)
我认为你不想使用dompdf 0.6 family。在0.6版本中,所有类都在全局空间中。但是,由于您的代码已准备好到0.7,请将其更改为
"dompdf/dompdf": "~0.7"
并运行composer update
。
答案 1 :(得分:0)
This issue at dompdf github page帮我解决了这个错误
最新的stable(0.6.1)不支持名称空间,因此在代码中不需要use语句。即将发布的版本(0.7.0)确实包括名称空间支持。
所以,我刚刚删除了
use Dompdf\Adapter\CPDF;
use Dompdf\Dompdf;
use Dompdf\Exception;
并使用new DOMPDF();
而不是new Dompdf();
,因为版本0.6。*命名空间不起作用。
答案 2 :(得分:0)
打开文件config.php
application/config/config.php
然后更改
$config['composer_autoload'] = "FALSE";
收件人
$config['composer_autoload'] = "vendor/autoload.php";