SOFTELメモ Developer's blog

php7.4でZendPdf を使うとWARNINGが発生する

2023/08/10 php

問題

ZendPdfの以下のファイルでエラーが発生します。

/Zend/Pdf/FileParser/Font/OpenType.php : 879

ErrorException (E_WARNING)
"continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

どう修正したらよいでしょうか。

答え

修正例

             switch ($format) {
                 case 0x0:
                     $cmapLength = $this->readUInt(2);
@@ -898,7 +897,7 @@ abstract class Zend_Pdf_FileParser_Font_OpenType extends Zend_Pdf_FileParser_Fon
                     if ($language != 0) {
                         $this->_debugLog('Type 0 cmap tables must be language-independent;'
                                          . ' language: %d; skipping', $language);
-                        continue;
+                        continue 2;
                     }
                     break;

@@ -917,7 +916,7 @@ abstract class Zend_Pdf_FileParser_Font_OpenType extends Zend_Pdf_FileParser_Fon
                 case 0xa:    // break intentionally omitted
                 case 0xc:
                     $this->_debugLog('Format: 0x%x currently unsupported; skipping', $format);
-                    continue;
+                    continue 2;
                     //$this->skipBytes(2);
                     //$cmapLength = $this->readUInt(4);
                     //$language = $this->readUInt(4);
@@ -929,7 +928,7 @@ abstract class Zend_Pdf_FileParser_Font_OpenType extends Zend_Pdf_FileParser_Fon

                 default:
                     $this->_debugLog('Unknown subtable format: 0x%x; skipping', $format);
-                    continue;
+                    continue 2;
             }
             $cmapType = $format;
             break;

参考

https://github.com/zendframework/zf1

https://github.com/Shardj/zf1-future/commit/4c7092339c249d83994212535d3a1427b736be64

関連するメモ

コメント