【发布时间】:2020-02-25 06:39:53
【问题描述】:
我是 在 Codeigniter 中使用 Composer 的新手,并且已经阅读了所有我可以尝试解决我的问题的内容,但还不够。自动加载器似乎正在自动加载?所以这就是我卡住的地方:
- 我已经安装了作曲家。
- 需要使用
composer require pdf/mpdf的 MPDF 包 - 我是从项目的根目录执行此操作的,因此供应商文件夹以及 composer.json 文件位于我的项目的根目录
- 在我的 config/config.php 文件中,我将
composer_autoload值更改为$config['composer_autoload'] = FCPATH . "/vendor/autoload.php";
然后我在我的默认控制器中创建了一个简单的函数,如下所示:
function m_pdf() {
$mpdf = new mPDF();
$mpdf->WriteHTML('Hello World');
$mpdf->Output();
}
但是当我运行它时,我得到一个错误:Message: Class 'mPDF' not found
我尝试将所有内容移动到应用程序文件夹,并将配置文件中的值更改为 TRUE,我尝试从函数本身调用自动加载器,但没有成功。
我觉得我遗漏了一些明显的东西。也许有些依赖。正如我所说,我是使用作曲家的新手。网上有一些关于运行 php composer.phar 的建议,但是当我尝试运行它时出现错误。会这样吗?
【问题讨论】:
-
如果你检查documentation for mpdf,他们的例子是:
$mpdf = new \Mpdf\Mpdf();。您需要使用正确的命名空间和正确的大小写。 -
谢谢@MagnusEriksson。我已经纠正了这个错误,但仍然遇到同样的问题:
Message: Class 'Mpdf\Mpdf' not found -
您确定路径正确吗?如果你这样做,你会得到什么:
var_dump(is_file(FCPATH . "/vendor/autoload.php"));? -
耶,整理好了。似乎某种形式的缓存在起作用,所以在进行了所有更改、新的浏览器窗口和几个 Ctrl+F5 之后,它终于可以工作了。感谢您的耐心等待!
标签: php codeigniter composer-php codeigniter-3 autoloader