1 - 富士通ラーニングメディア

第1章
概要
学
習
目
標
この章では、PHPの概要を学習します。
• Webの仕組みを説明できる
• PHPについて説明できる
PHP (PHP: Hypertext Preprocessor ) は、サーバ上で動作する、 HTML への埋め込み型スクリプト言語です。HTML
ページに PHP の処理を埋め込むことにより、動的なページを作成できます。
PHP は、一般的には Web サーバのスクリプト言語として使用されますWeb サーバとして広く使われているソフトウェア
として、 Apache や IIS などがあります。PHP で作成した Web ページはどちらの Webサーバでも公開できます。
PHP の主な特徴を以下に示します。
• オープンソースソフトウェア
PHP ライセンス。 PHP の開発コミュニティーである PHP グループが作成したライセンス規定。 BSD スタイルのライセ
ンス。
※ BSD : 「無保証」 であることの明記と著作権表示だけを再頒布の条件とするライセンス規定。
• 各種 OS 、Web サーバに対応
Linux 、Unix 、Windows 、Mac OS X 、Novell NetWare 、OS/2 、RISC OS 、SGI IRIX 6.5.x 、nginx など
• スクリプト言語
コンパイルが不要。
• HTML 文書への埋め込み型言語
• データベースとの連携に優れている
各種データベースとのインターフェースが豊富。
• Web に特化した使いやすい関数が豊富
PHP の開発当初から Web での利用に特化しているため、それに応じた関数が豊富。
• 処理が高速
Perl などと比べて処理が高速。 Zend Engine による高速化。
• 構文が C 言語や Perl に似ている
文法が C 言語や Perl の構文に類似。そのため、これらの言語の知識がある開発者なら、比較的習得が容易。
4
© 富士通ラーニングメディア
PHP は 1994 年に Rasmus Lerdorf 氏によって生み出されました。その後、徐々に周りの関心が高まり、「Personal
Home Page」 として公開されました。そして、さらに改良が加えられ、1995 年にスクリプトエンジンとHTML フォームから
の入力解析ツールを組み合わせた、PHP/FI (PHP2) が発表されました。
PHP と FI を 1 つのプログラムに書き直して生まれたのが PHP/FI2.0 です。開発者の間でかなり好評を博し、Andi
Gutmans と Zeev Suraski の目にとまりました。この二人が書き直して生まれたのが、 PHP3 です。
PHP3 は、PHP/FI から大幅に改良され、十分に高速で非常に人気がありました。しかし、多くの人が複雑なアプリケー
ションで利用するようになり、オーバーヘッドが無視できなくなってきました。そこで PHP3 を全面的に書き直しました。こ
うして生まれたのが Zend エンジンです。 Zend エンジンは、 PHP4 のコアであり、大幅にパフォーマンスが改善され、さ
らにさまざまな新機能が追加されました。
そして 2004 年 7 月、 PHP5 が正式リリースされました。 PHP5 では、実行エンジンである Zend エンジンがバージョン
2.0 (Zend Engine 2.0) に刷新され、基本的な構文を含めたさまざまな変更および機能強化が行われています。
PHP5 の新機能を以下に挙げます。
• オブジェクト指向機能の強化
• 文法的な整合性の改善
• 例外処理
• XML 対応強化
• SQLite バンドル
• PHP4 互換モード
• マルチバイト対応強化
5
© 富士通ラーニングメディア
第2章
PHP の基本文法
学 習 目 標
この章では、PHP の基本的な文法について学習します。
• PHP の基礎的な文法を理解できる
for ループは前判定でループを実行します。ある一定回数繰り返す処理を記述するときによく使われます。
式 1 は、ループ開始時に評価されます。つまり、ループの初期値に当たるものです。
式 2 は、各繰り返しの開始時に評価されます。その式の値が TRUE の場合、ループの処理が実行されます。値が
FALSE の場合、ループの処理は実行されず、繰り返しは終了します。
式 3 は、各繰り返しが終了した後に評価されます。一般的には式 1 で指定した初期値を増分する処理を記述します。
【参考】
for ループの各式は空にすることもできます。たとえば、式2を空にすると、無限実行ループになります。無限ループを作
成した場合には、別途 break 文などを用いて、ループを抜け出すための記述が必要になります。
40
© 富士通ラーニングメディア
■ p41.php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<html>
<head>
<title>ループ(forループ)</title>
</head>
<body>
<p>処理を複数行で指定</p>
<?php
for ($i = 1; $i <= 10; $i++){
echo "i = $i<br>";
//
}
?>
<hr>
<p>すべての式に空の式を指定</p>
<?php
$i = 1;
for (;;) {
//
if ($i > 10) {
break;
//
}
echo "$i<br>";
//
i = $i++;
}
?>
</body>
</html>
1〜10までの数を出力
空の式を使用
iが10より大きい場合、ループを抜ける
1〜10までの数を出力
41
© 富士通ラーニングメディア
<参考> forループ
■ 処理を 1 行で指定
for ($i = 1; $i <= 10; $i++) echo $i;
■ 処理を複数行で指定
for ($i = 1; $i <= 10; $i++){
echo $i;
}
// 1~10までの数を出力
// 1~10までの数を出力
■ 式 2 に空の式を指定
for ($i = 1;;$i++) { // 無限ループ
if ($i > 10) {
break;
// iが10より大きいとき、ループを抜ける
}
echo $i;
// 1~10までの数を出力
}
■ すべての式に空の式を指定
$i = 1;
for (;;) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
// 空の式を使用
// iが10より大きい場合、ループを抜ける
// 1~10までの数を出力
■ 式 3 に複数処理指定
for ($i = 1; $i <= 10; print $i, $i++) ;
42
// 1~10までの数を出力
© 富士通ラーニングメディア