過去記事一覧

ITmedia スマートフォンビュー - @IT

ITmediaスマートフォンビュー

検索

Loading
連載

Web業界で働くためのPHP入門(2):

知らないと働けないPHPの基本文法/構文と注意点 (1/2)

オープンソースのWeb開発向けスクリプト言語「PHP」の文法を一から学ぶための入門連載。最新版の5.5に対応しています。今回は、PHPタグのさまざまな書き方、文の区切り方、コメントの書き方に加え、エラーが起きたときのポイントなど注意点を幾つか解説します。

[山口晴広,株式会社イメージズ・アンド・ワーズ] [PC用表示]

最新版のPHP 5.5.10にアップデート

 前回の「初心者がPHPプログラミングを始めるための基礎知識とインストール」では、PHPの概要や特長を紹介し、環境構築や「Hello World!」までの手順などを解説しました。

 今回からは環境がセットアップできている前提で進めますので、まだの方は前回を参照して準備をしておきましょう。

 なお、前回紹介したPHP 5.5の最新版はPHP 5.5.9でしたが、5.5.10がリリースされています。学習目的であればアップデートの障害もないでしょうから、ぜひアップデートしておきましょう。実際の開発では、本番環境やチームメンバーとバージョンをそろえる必要性があったりしますので、何も考えずにアップデートとはいきません。

 アップデートの具体的な手順としては、旧環境のフォルダーをリネームして退避し、新規インストールするのがよいでしょう。アップデート後に何か問題が起きた場合でも、旧環境で試してみることで問題の切り分けができます。

PHPタグでPHPのコードを埋め込む

 PHPでは、テキストファイルにコードを書けば、それをそのまま実行できます。このような言語は、他にPythonやRuby、Perl、JavaScriptなどがあります。ただ、PHPの場合はテキストファイルに一定の形式が必須です。

 それは、コードは「<?php」と「?>」というPHPタグの間に書かなくてはならない、ということです。例えば、次のようになります。下記は前回も使った例です。

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHPサンプル</title>
</head>
<body>
<p><?php echo 'Hello, World!' ?></p>
</body>
</html>

 この場合、タグに囲まれている「echo 'Hello, World!'」の部分がPHPのコードです。これは「echo」という命令によって文字列を出力するという内容です。それ以外のPHPタグの外側は、見ての通りただのHTMLです。この部分はPHPのコードとしては無視され、そのままブラウザーに出力されます(図1)。

phpentry2_01.jpg
図1 前回のサンプルの実行結果でソースを表示したところ。HTMLはそのまま出力されている

 この仕組みにより、PHPではコードをHTMLに埋め込むことができるようになっているのです。

 なおPHPタグは、テキストファイルなら埋め込めるため、HTML以外の形式、例えばXML型式や、ただのテキストファイルでも使えます。また、ファイル中に幾つあっても構いません。

echo命令は短縮できる

 PHPタグのバリエーションとしては、他に「<?= 〜 ?>」という形式があります。これは前述のecho命令を短縮したものです。

 例えば、下記のコードがあったとします。

<?php echo 'Hello, World!' ?>

 これは、次のように短縮できます。

<?= 'Hello, World!' ?>

 echoはよく使われるので、こういった短縮形が用意されています。

開発規模が大きくなったら、PHPのコードだけをファイルに書くようになる

 このようにコードをHTMLに手軽に埋め込めるため、Webとの親和性が高いとされてきました。しかし、いずれ解説しますが、実際にはこういった埋め込みは開発規模が小さいうちだけ使われます規模が大きくなると逆に面倒になってくるため、埋め込まずにPHPのコードだけをファイルに書くようになってきます。

PHPコードだけをファイルに書く場合は終了タグを省略しよう

 PHPタグの埋め込みを行わず、PHPのコード「だけ」をファイルに書きたい場合は、ファイルの1行目に開始タグ「<?php」を書きます。また、この場合は終了タグは省略できます。ファイルの最後まで来れば自動的に実行が終わるためです。

 PHPのコードだけをファイルに書く場合、終了タグは積極的に省略した方がよいでしょう。終了タグの後にうっかり空行を残したまま気付かずにいると、意図せずそれが出力されてしまうためです。

コラム「PHPタグの書き方は、他にもあるが……」

 PHPタグには、以前使われていたものの現在では推奨されていない「<? 〜 ?>」という形式があります。互換性を保つために残されてはいますが、現在ではこの形式を使う理由はありません。

 また、これはPHPの設定を変えなければ使用できなくなっています。過去のコードを読む必要がある場合の知識参考にとどめておきましょう。こういった過去の遺産を「レガシー」と表現したりします。

 「<script language="php"> 〜 </script>」という形式もあります。こちらはレガシーではありませんが、長いのであまり使われません。

 「<% 〜 %>」というASPと同じ形式もありますが、これも設定を変えなければ使えません。特殊な状況でなければ使うことはないでしょう。


PHPファイルの2つの実行方法

【1】ブラウザー経由で実行する

 PHPはWebサーバーと一体になっているため、PHPファイルにブラウザーでアクセスすることで実行されます。PHPファイルは拡張子を「.php」とするのが一般的です。異なる拡張子、例えば「.html」を使う場合もあります。既存のHTMLにPHPコードを埋め込みたい場合などに使われますが、この場合はWebサーバーの設定が別途必要です。

 本連載ではPHPに内蔵されている開発用サーバーを用いていますが、このサーバーでは拡張子が.phpのときにのみPHPとして実行されます。それ以外の拡張子では実行されず、そのままの内容がブラウザーに返されます。

【2】コマンドラインで実行する

 開発用サーバーを起動するときに使うphpコマンドを使って、PHPファイルを実行することもできます。ファイル名を指定して起動するだけです(図2)。ブラウザーに返される実行結果がコンソールに表示されます。

phpentry2_02.jpg
図2 phpコマンドで実行した場合。Windowsのコンソールは標準状態ではUTF-8に対応していないため、文字化けしている

 もともとWebアプリ開発のための言語であるPHPでは、コマンドラインで実行したいシーンは限られています。しかし、実際の開発ではコマンドラインの操作が必要なケースも出てくるので、「こういう方法もあるんだ」と頭の隅に置いておきましょう。

       | 次のページへ

Copyright© 2014 ITmedia, Inc. All Rights Reserved.

ページトップに戻る