本では省かれがちなPHPの歴史と基本

本ページは2020年10月時点の「PHP マニュアル」を基に作成されています。

PHPの歴史

PHPの誕生

PHPは1994年にカナダ人のRasmus Lerdorf (ラスマス・ラードフ)が生み出した「Personal Home Page Tools(短縮して”PHP Tools”と呼ばれていた)」を起源とします。当初の PHP はラードフが個人的にC言語で開発していた CGI プログラムで、Web ページのアクセス履歴を調べるためのものでした。

CGI(Common Gateway Interface)とは

CGIはブラウザの要求に応じてWebサーバが外部プログラムを呼び出し、その実行結果がブラウザに送信される仕組みのことを指します。Webサーバが呼び出す外部プログラム(CGIプログラム)を指して CGI と呼ぶこともあります。

PHP の公開と発展

1995年6月、ラードフは PHP Tools のソースコードを GPL で公開し、同年9月に PHP を更に発展させ名前を「FI(Forms Interpreter)」と改めました。ただし、この時点では言語というにはほど遠い状態だったようです。翌月の1995年10月にラードフはコードを完全に書き直し、「Personal Home Page Construction Kit」として公開しました。コードはさらに一から書き直され、1996年4月に PHP/FI という名前で公開されました。この第二世代の実装で、PHP は単なるツール群からプログラミング言語へと進化を遂げました。

PHP 3.0

PHP 3.0 は、現存する PHP に近い状態になった最初のバージョンです。
イスラエルのAndi Gutmans (アンディ・ガトマンズ)、Zeev Suraski (ゼーブ・スラスキー)はオンラインでラードフにコンタクトを取り、協力して新たなプログラミング言語を作ることにしました。この全く新しい言語はPHP/FI の名前が持っていた「個人向け」というイメージを無くすため、シンプルに「PHP(PHP: Hypertext Preprocessor)」と名付けられました。PHP 3.0 は1998年6月に PHP/FI 2.0 の正式な後継としてアナウンスされました。

PHP 8.0

2020年10月現在のPHPの最新メジャーバージョンは2015年12月に登場した「PHP 7.0」です。マイナーリリースを含めると2019年11月にリリースされた「PHP 7.4」が最新です。ただし、「PHP 8.0」が2020年11月にリリースされる予定です。

PHPの基本

PHPタグ

PHPはファイルを解析して開始タグ(<?php)を探します。開始タグを見つけると、PHP はコードの実行を開始したり終了したりします。PHP は終了タグ(?>)を見つけるとそれ以降新たに開始タグを見つけるまでの内容を全て出力します。

終了タグ直後の改行

「PHP は終了タグ(?>)を見つけるとそれ以降新たに開始タグを見つけるまでの内容を全て出力します。」と記載しましたが、終了タグ直後の改行は無視されます。

<?php
...
?> [ここの改行のこと!]
[ここ以降の改行をHTMLは半角スペースと認識する]

また、ファイルの終端における終了タグはオプション(任意)となっており、省略することが推奨されています。これは終了タグ以降の改行により予期せぬ空白文字が現れることを防ぐなどの意味があります。

様々な開始タグと終了タグ

PHP の開始タグと終了タグの書き方は5種類もあります。

1. <?php echo 'こんにちは'  ?>
2. <?= 'こんにちは' ?>
3. <? echo 'こんにちは' ?>
4. <script language="php"> echo 'こんにちは' </script>
5. <% echo 'こんにちは' %>

3番が有効なのは基本的に php.ini のディレクティブ short_open_tag が有効になっている場合のみです。5番が有効なのは php.ini のディレクティブ asp_tags が有効になっている場合のみですが、PHP 7.0 で廃止されました。互換性を考慮し <?php ?> もしくは <?= ?> の利用が推奨されています。

コメント

PHPのコメントは以下の3つが使われます。

・// 単一行用のコメント
・#  単一行用のコメント
・/* 複数行用のコメント */

/* */はネストしないように注意する必要があります。最初の/* */がそろった時点でコメントアウトされます。

PHP の型

PHP は変数の型をプログラマが定義することは基本的にありません。変数の型を知りたい場合は「gettype($変数名)」を使用します。

型キャスト

変数の型を変換して評価するにはキャストを行います。

<?php
$a = 'a';
$b = (int)$a;
echo $a,$b,(int)$a,$a;   //結果:a00a
?>

上記のように、キャストは変数の型を変更するわけではありません。型を変更する場合は「settype()」を使用します。上記の場合は「settype($a,”int”)」となります。

使用可能なキャストを以下に示します。

  • (int), (integer) – 整数へのキャスト
  • (bool), (boolean) – 論理値へのキャスト
  • (float), (double), (real) – float へのキャスト
  • (string) – 文字列へのキャスト
  • (array) – 配列へのキャスト
  • (object) – オブジェクトへのキャスト
  • (unset) – NULL へのキャスト

(unset) によるキャストは、PHP 8.0.0 で削除される予定です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)