【PHP8.x】codeプロパティの使い方

作成日: 更新日:

codeプロパティは、プログラムの構文解析時に発生したエラーの種類を識別するための数値コードを保持するプロパティです。

PHPにおいてParseErrorは、記述されたPHPコードの文法(構文)に誤りがある場合に発生するエラーを表すクラスです。例えば、セミコロンの付け忘れや括弧の閉じ忘れなど、PHPインタープリタがコードを正しく解釈できないときに、このParseErrorがスローされます。

このcodeプロパティは、ParseErrorオブジェクトが発生した際に、そのエラーに割り当てられた特定の数値コードを提供します。一般的なExceptionクラスでは、このコードを用いてエラーの具体的な原因を判別することがありますが、ParseErrorの場合、このcodeプロパティの値は通常0となります。そのため、ParseErrorの具体的な内容を詳しく知るためには、messageプロパティ(エラーメッセージの文字列を保持)を参照する方が一般的です。

しかし、もし将来的にPHPのバージョンアップなどでParseErrorが異なる種類の構文エラーを区別するために特定のコードを持つようになった場合、このcodeプロパティはその識別子として機能する可能性を秘めています。エラーハンドリングにおいて、エラーの種類をより詳細に分類する際に利用できる情報源の一つとして理解しておくと良いでしょう。

基本的な使い方

構文(syntax)

1<?php
2
3try {
4    eval('echo "parse error" ?');
5} catch (ParseError $e) {
6    // ParseErrorオブジェクトのcodeプロパティの値を取得します。
7    // ParseErrorの場合、codeは通常0です。
8    var_dump($e->getCode());
9}
10
11?>

引数(parameters)

戻り値(return)

int

ParseError クラスの code プロパティは、発生したパースエラーの種類を示す整数値を返します。

【PHP8.x】codeプロパティの使い方 | いっしー@Webエンジニア