PHPプログラミングの基本

最近、PHPの勉強を始めました。これまでは、ActionScriptやJavaScriptといったクライアントサイドの言語しか扱ったことがなかったのですが、最近仕事でWordPressやEC-CUBEのカスタマイズをすることが多くなったこともあり、本格的に学びたいと思うに至りました。

そう簡単にマスターできるものでもないと思いますが、まずは基礎から少しずつ学んでいきたいと考えています。今回は、PHPプログラミングの基本に関する学習メモです。

PHPプログラムは、PHPの開始タグ <?php と終了タグ ?> の中に記述します。この開始タグと終了タグで囲まれた部分をPHPブロックと呼び、PHPブロックの中に書かれたソースをPHPプログラムとして実行します。PHPブロックの外に書かれた部分は、文字列としてそのまま出力されます。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p>PHPスクリプトの例</p>
<p>
<?php
echo 'Hello PHP!';
?>
</p>
</body>
</html>

文の区切りはセミコロンを ; を使います。文中での空白、タブ、改行は無視されます。これは、ActionScriptやJavaScriptと同じですね。

PHPのコメント

PHPには、コメントの記述法が3種類あり、1行コメントは、// と # を使い、複数行コメントでは/*〜*/を使います。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p>
<?php
echo "1行コメントは、改行またはPHPブロックの終わりまで。<br />", PHP_EOL; // 1行コメントは、改行まで出力されない
# ただし行の途中でPHPブロックを抜けた場合は、それ以降は出力される?>PHPブロック以降は、出力される。</p>
<p>
<?php
/*
ブロックコメント内では、
複数行に渡って、コメントアウトされる。
*/
echo "コメントテスト終わり", PHP_EOL;
?>
</p>
</body>
</html>

PHPの識別子

PHPでは、変数名や関数名等の識別子として、半角英数字(a-z, A-Z, 0-9)とアンダースコアが使えます。ただし、最初の文字に数字を使ってはいけません。また関数名やクラス名では、予約語も使ってはいけません。変数は、$記号で識別されるので予約語を使うことは出来るようですが、使うべきではなさそうですね。

PHPの終了タグの省略

PHPブロックで終了するファイルでは、PHPの終了タグを省略することが出来るようです。というか、HTMLを含まないファイルでは、むしろ省略することが推奨されているようです。理由は、PHPブロックの外側は文字列として出力されるので、終了タグの外側に改行がある場合、その改行がそのまま出力されるのを防ぐためだとか。

これには、ちょっとびっくりしました。しかし、テストしてみると一部の環境で文字化けはしますが、出力自体は行われています。ちょっと慣れるのに時間がかかるかなと思いました。

<?php
echo 'PHPの終了タグで終わるファイルでは終了タグを省略できる。', PHP_EOL;