php7.4でZendPdf を使うとWARNINGが発生する
問題
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