FPDF - 如何修复“致命错误:调用未定义的方法PDF :: FPDF()”使用Write_html

时间:2016-02-12 09:39:55

标签: php fpdf

我正在使用此脚本http://fpdf.org/en/script/script50.php,我收到错误:

致命错误:在第55行的MyPath / html_table.php中调用未定义的方法PDF :: FPDF()

这是对FPDF的调用抛出异常:

$this->FPDF($orientation,$unit,$format);

我不明白为什么,知道pdf类扩展了FPDF 我将fpdf.php文件放在与html_table.php文件相同的目录中,有没有办法解决这个问题错误?谢谢

2 个答案:

答案 0 :(得分:3)

修正了它。

我实际上需要更换:

$this->FPDF($orientation,$unit,$format);

由:

$this->__construct($orientation,$unit,$format);

原始脚本存在此错误,因此对于想要使用该脚本的任何人,请不要忘记先修复此错误。祝你好运。

答案 1 :(得分:0)

在您共享的脚本中的任何地方都找不到$this->FPDF。扩展类时,扩展类位于扩展类的$this中。 当您创建此类的新实例时,扩展类的构造函数将始终运行,除非您自己定义了一个构造函数,正如您在共享类所显示的脚本中在PDF类中所做的那样。 如果要运行扩展类的构造函数,则应使用parent::__construct();在扩展类的构造函数中执行此操作,该操作告诉PHP此时应运行父类的构造函数(扩展类)。 您共享的脚本中已经存在这种情况:

    //Call parent constructor
    parent::__construct($orientation,$unit,$format);

因此,当您运行new PDF()时,它将调用PDF类的构造函数,该类将调用FPDF的构造函数。 如您的答案中所述,使用$this->__construct($orientation,$unit,$format);行再次调用构造函数时,这将导致PDF构造函数被调用两次。