【问题标题】:mPDF : Methods with the same name as their class will not be constructors in a future version of PHP; mPDF has a deprecated constructormPDF :与其类同名的方法在 PHP 的未来版本中将不再是构造函数; mPDF 有一个不推荐使用的构造函数
【发布时间】:2017-01-16 09:54:42
【问题描述】:

我是 mpdf 的新手,在我的项目中实施它时遇到问题。我在 Facebook 中看到了一个链接,其中包含 mpdf 的教程,我阅读并遵循了所有说明,但不幸的是仍然存在关于某些已弃用值的错误。

这是我关注的链接:http://codesquery.com/convert-html-pdf-codeiniter-using-mpdf/

这是问题的截图:

希望你们能帮帮我。

【问题讨论】:

  • 欢迎来到 SO,约翰。也许您可以将问题内嵌为文本,并将您遵循的内容总结为说明(因此您尽最大努力尝试)?这通常表明努力并帮助人们了解解决方案并提供答案。
  • 看起来您正在使用 PHP 7 - php.net/manual/de/migration70.deprecated.php - PHP4 样式构造函数已弃用
  • 嗨,我刚刚从教程页面复制了说明。我只是改变了看法。有没有办法在 cmets 中发布问题的屏幕截图?

标签: php codeigniter pdf mpdf


【解决方案1】:

我猜你使用的是 php 7。你必须更改函数的名称。在旧的 php 例如 5.19 中,函数和类的名称相同意味着这个函数是一个构造函数。在 PHP 7 中,它必须是例如:

public function __construct(mPDF $mpdf){}

Click here to see a list of all modification

【讨论】:

    【解决方案2】:

    您可以在 codeigniter 中使用 composer 轻松安装 mpdf。这就是我在 CodeIgniter 3 中实现作曲家的方式。这很容易。你必须在你的机器上安装 composer 从https://getcomposer.org/ 下载它。在你的电脑上安装作曲家后,

    1. 将项目文件夹中的composer.json文件复制粘贴到应用文件夹中。
    2. 在 config.php 文件中 $config['composer_autoload'] = TRUE;

    现在您的项目中有作曲家了。现在我将看到你如何使用 composer 安装 mpdf

    1. 打开 cmd 并指向应用程序文件夹
    2. 在应用程序目录内键入 composer require mpdf/mpdf

    现在将在应用程序文件夹和供应商文件夹中创建一个供应商文件夹,您可以看到作曲家下载的所有包。

    既然你现在自动加载了 composer,你可以像在你的控制器中一样使用 mpdf 官方手册中给出的代码。

        function m_pdf(){ 
    
           $mpdf = new mPDF();
    
           // Write some HTML code:
    
           $mpdf->WriteHTML('Hello World');
    
           // Output a PDF file directly to the browser
           $mpdf->Output();
       }
    

    记住你不需要输入 require_once APPPATH.'/vendor/mpdf/mpdf/mpdf.php';因为你已经自动加载作曲家了。如果不喜欢自动加载作曲家,您必须在使用 mpdf 供应商库的每个控制器的开头键入 require_once APPPATH.'/vendor/mpdf/mpdf/mpdf.php'。如果您遇到任何问题,请在下方评论。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 2017-03-12
      相关资源
      最近更新 更多