首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php如何在for循环中重新声明类

php如何在for循环中重新声明类
EN

Stack Overflow用户
提问于 2015-03-10 13:21:52
回答 2查看 488关注 0票数 0

我使用一个名为PDFmerger的库,很自然,它将pdfs合并在一起。我希望每天晚上都能运行一个cron,为第二天做好准备。问题是当我在第一个代码之后运行代码时,它会失败,因为它试图重新声明类。

for的声明..。

代码语言:javascript
复制
            foreach ($pdfs_to_build as $pdf) {

                // do stuff

                $this->merge_pdfs($pdf['pdf_id']);

            }

我的pdf合并代码在循环中运行..。

代码语言:javascript
复制
$pdf = new PDFMerger;

$pdf->addPDF(DIR_BOOKS.$book_path.'/static-pages/page-1.pdf', '1'); 
$pdf->addPDF(DIR_FINAL_PDFS.$pdf_id.'/custom-page-1.pdf','1'); 
$pdf->addPDF(DIR_BOOKS.$book_path.'/static-pages/page-2.pdf', '1'); 

$pdf->merge('file', DIR_FINAL_PDFS.$pdf_id.'/final-build-'.$pdf_id.'.pdf');

在第一个1完成后出现错误,我们已经进入下一个.

致命错误:无法在第24行/var/www/ PDFMerger /pdfMerger.php中重新声明类

我想知道有办法解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-10 13:25:57

问题不在于您要给new PDFMerger打两次电话,这是完全可以接受的。问题是文件:

代码语言:javascript
复制
/var/www/example/pdfmerger/PDFMerger.php

included(或以其他方式执行)两次,它在第24行中有:

代码语言:javascript
复制
class PDFMerger {

这就是触发您的错误的原因,这个类已经声明了。找出为什么该文件被包含两次,您的错误将清除。

票数 2
EN

Stack Overflow用户

发布于 2015-03-10 13:29:15

你的密码没问题。不会失败的。但是,没有在您发布的内容中列出,您正在包括PDFMerger.php。可能是通过在循环中运行include 'PDFMerger.php';https://pdfmerger.codeplex.com/中显示的。

只需将该行从循环中移出并/或将include更改为include_once即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28964884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档