連載
» 2017年04月10日 05時00分 UPDATE

Web業界で働くためのPHP入門(2):知らないと働けないPHPの基本文法/構文と注意点 (1/2)

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

[山口晴広, 齊藤新三(改訂)/山田祥寛(改訂監修),WINGSプロジェクト]

まずはPHPタグから

 オープンソースのWeb開発向けスクリプト言語「PHP」の文法を一から学ぶための入門連載「Web業界で働くためのPHP入門」。前回の「初心者がPHPプログラミングを始めるための基礎知識とXAMPPのインストール」では、PHPの概要や特徴を紹介し、環境構築や「Hello World!」までの手順などを解説しました。

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

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

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

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

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHP Sample</title>
</head>
<body>
<p><?php print("Hello World!") ?></p>
</body>
</html>
リスト1 phplesson/chap01/hello.php

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

 以下は、ブラウザ(Microsoft Edge)で、hello.phpの実行結果のソースを表示させた状態です。HTMLはそのまま出力されているのが分かるでしょう。

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

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

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

print命令は短縮できる

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

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

<?php print("Hello World!") ?>

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

<?= "Hello World!" ?>

 printはよく使われるので、こういった短縮形が用意されていますし、単に何かを出力するだけならば、こちらの記述の方がよく使われます。

PHPコードのみのファイル

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

終了タグの省略

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

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

.phpファイルの実行方法

 .phpファイルを実行するには以下の2種類の方法があります。

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

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

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

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

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

図2 hello.phpをコマンドで実行

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

注意!「phpコマンド」

 コマンドを使用するには、Windowsではコマンドプロンプト、Macではターミナルを使用します。ただ、そのままではphpコマンドは使用できません。これは、コマンドプロンプト、およびターミナルそのものがphpコマンドの本体を認識していないからです。phpコマンドの本体は、以下の位置に格納されています。

  • Windows: C:\xampp\php\php.exe
  • Mac: /Applications/XAMPP/xamppfiles/bin/php

 これらの本体をコマンドで実行できるように設定する必要があります(このことを「パスを通す」といいます)。もし、パスが通っていない場合は、コマンド部分を以下のように「C:\xampp\php\php」とフルパスを記述すれば実行できます。

図3 phpコマンドをフルパスで記述

 ただ、Windows版XAMPPの場合は、あらかじめパスが通った状態でコマンドプロンプトを起動してくれる機能があります。それが、XAMPP Control Panelの[Shell]ボタンです。

図4 XAMPP Control Panelの[Shell]ボタン

 この[Shell]ボタンで起動したコマンドプロンプトの場合はそのままphpコマンドが利用できます。

 なお、Macの場合は、この機能がありませんので、各自でパスを通すか、コマンドのフルパスを記述してください。


       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。