オープンソースのWeb開発向けスクリプト言語「PHP」の文法を一から学ぶための入門連載。今回は、PHPタグのさまざまな書き方、文の区切り方、コメントの書き方に加え、エラーが起きたときのポイントなど注意点を幾つか解説します【PHP 7.1含め2017年の情報に合うように対応】。
オープンソースのWeb開発向けスクリプト言語「PHP」の文法を一から学ぶための入門連載「Web業界で働くためのPHP入門」。前回の「初心者がPHPプログラミングを始めるための基礎知識とXAMPPのインストール」では、PHPの概要や特徴を紹介し、環境構築や「Hello World!」までの手順などを解説しました。
今回からは環境がセットアップできている前提で進めますので、まだの方は前回を参照して準備をしておきましょう。
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>
この場合、タグに囲まれている「print("Hello World!")」の部分がPHPのコードです。これは「print()」という命令によって()内の文字列を出力するという内容です。それ以外のPHPタグの外側は、見ての通りただのHTMLです。この部分はPHPのコードとしては無視され、そのままブラウザに出力されます。
以下は、ブラウザ(Microsoft Edge)で、hello.phpの実行結果のソースを表示させた状態です。HTMLはそのまま出力されているのが分かるでしょう。
この仕組みにより、PHPではコードをHTMLに埋め込むことができるようになっているのです。
なおPHPタグは、テキストファイルなら何でも埋め込めるため、HTML以外の形式、例えばXML形式や、ただのテキストファイルでも使えます。また、ファイル中に幾つあっても構いません。
PHPタグのバリエーションとしては、他に「<?= 〜 ?>」という形式があります。これは前述のprint命令を短縮したものです。
例えば、下記のコードがあったとします。
<?php print("Hello World!") ?>
これは、次のように短縮できます。
<?= "Hello World!" ?>
printはよく使われるので、こういった短縮形が用意されていますし、単に何かを出力するだけならば、こちらの記述の方がよく使われます。
このようにコードをHTMLに手軽に埋め込めるため、Webとの親和性が高いとされてきました。しかし、いずれ解説しますが、実際にはこういった埋め込みは開発規模が小さいうちだけ使われます。逆に、規模が大きくなると面倒になってくるため、埋め込まずにPHPのコードだけをファイルに書くようになってきます。
PHPタグの埋め込みを行わず、PHPのコード「だけ」をファイルに書きたい場合は、ファイルの1行目に開始タグ「<?php」は当然書きますが、この場合は終了タグは省略できます。ファイルの最後まで来れば自動的に実行が終わるためです。
さらに、PHPのコードだけをファイルに書く場合、終了タグは積極的に省略した方がいいでしょう。終了タグの後にうっかり空行を残したまま気付かずにいると、意図せずそれが出力されてしまうためです。
.phpファイルを実行するには以下の2種類の方法があります。
PHPはWebサーバと一体になっているため、phpファイルにブラウザでアクセスすることで実行されます。phpファイルは拡張子を「.php」とするのが一般的です。異なる拡張子、例えば「.html」を使う場合もあり、既存のHTMLにPHPコードを埋め込みたい場合などに使われます。ただし、このように違う拡張子を使う場合はWebサーバの設定が別途必要です。
本連載ではXAMPP(Apache)を用いていますが、このサーバでは拡張子が.phpのときにのみPHPとして実行されます。それ以外の拡張子では実行されず、そのままの内容がブラウザに返されます。
phpコマンドを使って、phpファイルを実行することもできます。phpコマンドに続けて、ファイル名を指定して起動するだけです。ブラウザに返される実行結果がコンソールに表示されます。
もともとWebアプリ開発のための言語であるPHPでは、コマンドラインで実行したい状況は限られています。しかし、実際の開発ではコマンドラインの操作が必要なケースも出てくるので、「こういう方法もあるんだ」と頭の隅に置いておきましょう。
コマンドを使用するには、Windowsではコマンドプロンプト、Macではターミナルを使用します。ただ、そのままではphpコマンドは使用できません。これは、コマンドプロンプト、およびターミナルそのものがphpコマンドの本体を認識していないからです。phpコマンドの本体は、以下の位置に格納されています。
これらの本体をコマンドで実行できるように設定する必要があります(このことを「パスを通す」といいます)。もし、パスが通っていない場合は、コマンド部分を以下のように「C:\xampp\php\php」とフルパスを記述すれば実行できます。
ただ、Windows版XAMPPの場合は、あらかじめパスが通った状態でコマンドプロンプトを起動してくれる機能があります。それが、XAMPP Control Panelの[Shell]ボタンです。
この[Shell]ボタンで起動したコマンドプロンプトの場合はそのままphpコマンドが利用できます。
なお、Macの場合は、この機能がありませんので、各自でパスを通すか、コマンドのフルパスを記述してください。
Copyright © ITmedia, Inc. All Rights Reserved.