PHP(ピーエッチピー)は【PHP: Hypertext Preprosessor】(PHP ハイパーテキスト プリプロセッサー)の略で,Webサーバー側(サーバーサイド)で動作する動的なWebページを記述することに特化したサーバーサイドスクリプト言語です。1995年に"Personal HomePage Tool"として開発が始まり,2017年2月現在の最新バージョンはPHP 7.1.1です。
サーバーサイドスクリプトとは,Webサーバ上で動作し,ブラウザからのアクセス要求に応じて,呼び出されるたびに標準出力をウェブブラウザに送信するプログラムです(第0章参照)。
PHPスクリプトを作って動作させるためには,
.php
を使う<?php
を,最後に?>
を付加して囲む;(セミコロン)
を付けるhttp://サーバ名/・・・/PHPスクリプト名
というURLを直接打ち込んでApacheを介して動作させる
まず,動作しているApache, PHPの環境をチェックするための1行PHPスクリプトを作ってみましょう。phpinfo.php
という名前で下記の内容の1行ファイルを作り,適当なフォルダに設置してブラウザからアクセスしてみて下さい。
これをブラウザからhttp://localhost/適当なフォルダ名/phpinfo.php
にアクセスすると,下記のような表示がされるはずです。
縦に長い表示となりますが,これを丁寧に見ていくと,Apache,PHPのバージョン,PHPから使用できる機能が分かるようになっています。セキュリティに考慮して,外部からアクセスできないところで実行するようにして下さい。
ファンクションは"関数"とも言い,PHPでプログラムを書くときにもっとも重要な機能となります。
動的Webページを作成するために必要な関数が大量に用意されており,標準的なファンクションはPHPマニュアルから調べることができるようになっています。
では,ブラウザに文字列を表示するPHPスクリプトを作ってみましょう。下記のPHPスクリプトをエディタから打ち込み,ファイル名はPHPスクリプトの原則を守りつつ適当に決め,PHPスクリプトが動作可能なフォルダに保存して下さい。
PHPスクリプト
ブラウザから実行すると,下記のように「PHPで文字を表示」という文字列が表示されるはずです。エラーメッセージが出たら修正して再度実行して下さい。
printファンクションはprint(' ');の中の「' '(シングルクォーテーション)」で囲まれた場所をHTML文として 表示させることができます。 これは「" "(ダブルクォーテーション)」でも同じことができます。但し,両者で機能に若干の違いがありますので,詳細は後述します。
単純標準出力echo
,書式付き標準出力関数printf
,文字列に出力するsprintf
も同類のファンクションです。これは後ほど多用します。
PHPでは$(ドルマーク)
を接頭詞とする文字列を変数として型宣言なしに随所で使用できます。一度変数に入力した値は何度でもスクリプト内で使用することができます。
変数は下記の2種類あります。
標準出力表示にはprintまたはechoファンクションを使用しますが,変数を表示する際にはそのまま変数名を指定すれば値を表示できます。
例えば可変変数$sample
の値を表示するためには下記のようにプログラムします。
プログラム
これを実行すると次のような表示になります。
ブラウザ上の表示
文章と変数を混ぜて表示する場合は「.(ピリオド)」を中間に入れることで,前後を連結して一つの文字列として扱うことができるようになります。
プログラム
ブラウザ上の表示
PHPでは,ダブルクォーテーション"..."
でもシングルクォーテーション'...'
でも,括られた部分を文字列として扱いますが,変数を括った時の扱いがそれぞれ異なります。前者は変数を解釈してその値を文字列として表示しますが,後者は変数名を単なる文字列として扱います。次の例で違いを確認して下さい。
プログラム
ブラウザ上の表示