因此,我现在真的迷失了,试图找到一种使用我在作曲家中获得的FPDF库的方法。我的脑子很困惑,所以我希望我足够清楚。
我有这个作曲家文件:
{
"require": {
"phpmailer/phpmailer": "^6.0",
"stripe/stripe-php": "^6.16",
"setasign/fpdf": "1.8.1"
},
"autoload": {
"psr-4": {
"PsyQuimper\\":"src/calendrier/php/"
}
}
}
还有一个php文件,要求我从作曲家那里获得所有我的课程:
require_once $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
我想用FPDF库创建帐单。这是bill.php文件的开头:
<?php
use \setasign\fpdf\FPDF;
class Bill extends FPDF {
private $billString;
private $billDate;
function __construct($date) {
$this->billDate = $date;
parent::__construct();
}
但是,当我创建new Bill('2015-05-05')
时,我收到一条错误消息:
找不到类'setasign \ fpdf \ FPDF'
我不明白我在做什么错。有人愿意在这里启发我吗?
编辑:
我替换了use \setasign\fpdf\FPDF;
与use FPDF
就这么简单。谢谢
答案 0 :(得分:0)
setasign/fpdf
不使用任何命名空间:https://github.com/Setasign/FPDF/blob/1.8.1/fpdf.php。
您应该用\
假装类名,以指示应使用全局命名空间中的类:
class Bill extends \FPDF
或导入此类:
use FPDF;
但是,在您的情况下,您的Bill
类未命名空间,因此您只需删除use \setasign\fpdf\FPDF;
,默认情况下,所有内容都将使用全局命名空间。
使用与包名称相同的名称空间不是严格的约定-您需要查看文档/代码/ composer.json
来找到依赖项的实际名称空间。