PHPでプログラムを書いて動かしたら動かない!などということはよくあります。
出来上がったらすぐに動かしたくなりますが、落ち着いて次は文法のチェックです。
目視で確認する方法もありますが、ツールを使う事もおすすめです。
今回は文法チェックについて以下の内容でお話します。
【解説】文法のチェックの必要性
【実践】コマンドラインでチェック
【実践】xdebugでチェック
わかりやすく解説しますので、最後まで読んで頂けると幸いです。
プログラムが思うように動かないとき、文法チェックの重要性を改めて感じることがありますよね。そんな時、ツールを活用することで効率的に問題を解決できることもあります。しかし、プログラミングスキルだけでなく、収入源を多様化したいと考えている方には、AIとWeb制作スキルを組み合わせた新しい学びの場が役立つかもしれません。
ここでは、すぐに使える実践的なノウハウを学び、AIを活用して収益を上げる具体的な手法を知ることができます。これにより、時間や収入に対する不安を解消し、より自由な働き方を実現するためのスキルを身につけることが可能です。
少しでも興味がある方は、まずはセミナーの詳細を確認して、自分に合った方法を探してみませんか?
文法チェックが必要な理由
悩んで書いたプログラム、すぐ動かしたいですよね。
しかし、動かすのは少し待ちましょう。
まずは文法チェックを行います。
文法をチェックしておかないとエラーが発生した時に正常に動作しないからです。
そしてエラーの発生原因を一つずつ潰さなければいけません。
文法チェックを一括で行っておけば、そのエラーは発生しない可能性もあります。
遠回りしているようで実は近道の場合もあるため、文法チェックは必ず行いましょう。
lintでチェックしよう
lintを使って静的にチェックします。
静的というのはプログラムを実行せずに、文法の記述方法だけをチェックする方法です。
その時に使用するのは、lintコマンドです。
※php_check_syntaxという文法チェック関数があったのですが、すでに廃止されていますので使用できません。
では実際にエラーの出るphpファイルを準備します。
□lint_test.php
<?php echo "error"
画面にerrorという文言を表示させるだけのコードです。
lint_test.phpがあるディレクトリまで移動して以下のコマンドを発行します。
php -l lint_test.php
□実行結果
PHP Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2 Parse error: syntax error, unexpected end of file, expecting ',' or ';' in lint_test.php on line 2 Errors parsing lint_test.php
syntax error = 構文エラーの指摘が出力されました。
【line 2】のように、エラーの行数も返してくれます。
unexpected end of fileとありますので、2行目に【;】がないのが原因です。
では、lint_test.phpを修正して、再度lintコマンドを発行してみます。
<?php echo "error";
□実行結果
No syntax errors detected in lint_test.php
上記の表示になれば、文法エラーはないという事です。
lintを使った文法チェックについてご理解頂けたでしょうか。
xdebugでチェックしよう
前章では、静的に文法チェックを行う方法をご紹介しました。
本章では動的のエラーチェックのためにxdebugというツールを紹介します。
xdebugの設定
まず、xdebugを使用可能にします。
① xdebugを以下公式サイトからダウンロード、ダウンロードした.dllファイルを置いたローカル環境のパスをメモします。
https://xdebug.org/download.php
② php.iniに以下を追記します。
zend_extension = ★①でメモしたパス
② Webサーバ(Apacheなど)を再起動
以上で設定は完了です。
xdebugでエラーを確認する
それでは、前章で使用したlint_test.phpを実行してみます。
□lint_test.php
<?php echo "error"
最後の【;】が足りていないのでエラーになるはずです。
■画面表示結果

内容はlintを実行した時と同じですが、装飾が付いて見やすくなりました。
またlintとの大きな違いは、コードを実行した結果のエラーなので動的なチェックによるエラーと言えます。
まとめ
今回はPHPの文法チェックについてお話しました。
プログラムが完成した!と思っても安心せずにまずは静的に文法チェックをしましょう。
動かした後のエラー表示もツールを使う事をおすすめします。
それでは、また。






