将FPDF与Composer自动加载一起使用

时间:2019-03-03 02:12:34

标签: php namespaces composer-php fpdf

如果我需要从库中获取正确的文件,则可以使用FPDF类:

<?php namespace MyNamespace;

require_once '../../../vendor/setasign/fpdf/fpdf.php';
// use FPDF;

$pdf = new \FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();

注意:fpdf.php文件未命名空间。

Composer应该为我自动加载此文件。作曲家从我的autoload_classmap.php中摘录的片段:

// autoload_classmap.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'FPDF' => $vendorDir . '/setasign/fpdf/fpdf.php',
    'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',

另一个库phpunit可以正常加载。

如何使用作曲家自动加载FPDF库并使用:use FPDF;

1 个答案:

答案 0 :(得分:0)

我忽略了要求autoload.php文件夹中的vendors文件。因为该函数是全局函数,所以我什至不必添加use FPDF;

<?php namespace MyNamespace;

require_once '../../../vendor/autoload.php';

$pdf = new \FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();

Phpunit正在工作,因为可以从命令行访问phpunit,并且我已将phpunit设置为包含autoload.php文件。

我希望这也会对其他人有所帮助。当您花几个小时去看似简单的事情时,这会让人感到沮丧。