書籍のぺージを効率的に作るには?

Webサーバーから依頼を受けたプログラムは、どのように書籍のページを作成しているのでしょうか。世の中に存在する書籍の数は膨大です。それを考えると、何か効率的な方法があれば便利です。そこで「データベース」という“箱”が登場します。

データべースという箱には、書籍の名前や価格などの情報を入れておきます。書籍のページを作成するプログラムには、「ここに書籍名を表示するJや「ここに価格を表示する」という命令だけを書いておき、データベースから取り出した書籍情報と組み合わせるのです。その結果、膨大な数の書籍ページを効率的に作成できるようになります。

具体的に「どのように作るのか」を考える必要はありません。今は、データベースとプログラムが連携することで『PHP入門』などのページが作成できるのだというイメージを持つことが重要です。

大文字/小文字を変換する

文字列中のアルフアベットをすべて大文字/小文字にするには、 strtoupper / strtolower 関数を使用します。これらの関数を実行すると、変換後の文字列が値と して返されます。元の文字列は変更されません。 strtoupper (文字列) strtolower (文字列) たとえば、 $upstr = strtoupper ($str) ; の文を実行すると、変数$str 内のアルファベットがすべて大文字に変換されて、変 数$upstr に代入されます。 $str は変更されません。

変数/条件判断/繰り返し

変数/条件判断/繰り返しは、どのようなプログラム言語でも最も基本となるも のですが、それ以外にも知っておくべき基本的な構文がいくつかあります。定数を定義する スクリプトの中では、一定の数値や文字列を用いることもよくあります。そのような数値や文字列のことを定数と呼びます。たとえば、 $maxcount = 10 という文の場合、 10が定数になります。ただし、同じ意味で使用する定数をスクリプトの複数の個所に書くと、後でスクリプトを修正するのが大変になります。 たとえば、 10 がカウントの上限だとしましょう。そして、スクリプトの複数の 個所でカウントに関する処理をするとします。その場合、スクリプトの複数の個所 に 10という定数が出てくることになります。しかし、後で上限を 20 に増やすこ とにした場合、スクリプト中に複数ある 10を 20に変更しなければならなくなります。これでは面倒な上、変更し,忘れなどから不具合を招く原因にもなります。 そこで、プログラム内の複数の個所で使用する定数には、名前を付けておくこと をお勧めします。これを「定数の定義」と呼びます。定数を定義するには、define という関数を使用して、次のように書きます。 define (“定数名ヘ定数値); 定数名の部分で、定数に付ける名前を指定します。慣例的に、定数名は大文字で 付けることが多くなっています。たとえば、 10 という数値に MAXCOUNT とい う名前を付ける場合だと、 define (“MAXCOUNT” , 10) ; とします。 定義した定数は、普通の定数の代わりに使用できます。たとえば、変数$count に 定数MAXCOUNT を代入するには、 $count = MAXCOUNT; と書きます。

変数のデータ型

プログラムで扱うデータには型があります。たとえば 1 0桁の文字列整数TRUE(正しい)か FALSE 誤りのような種類を表すのが「データ型」です。「 データ型を厳密に定義しないと変数は 使用できない」というプログラム言語もた くさんあります。しかし PHPは、そのあたりのことは大変大らかでして、面倒な定義は不要です。「文字列を代入すれば文字列型」に、整数を入れれば整数型にというように、値を変数に代入すれば適当な型を設定してくれます。

配列について

配列を使うと、ひとつの変数のなかに複数の値を入れることができます。PHPでは、arrayという関数を使います。たとえば、

$animals=array(‘犬’,’猫’,’鳥’,’馬’);

と記述すれば、animalsという変数の中に4つの値を格納したことになります。こうして保存した内容には、0から順番にインデックスという数字が割り振られます。このとき、1からでなく、0からという点に注意しましょう。これは、コンピュータで扱う数字が整数であるためです。PHP入門したての頃にはややこしく感じる部分があるかもしれませんが、じょじょに慣れていくので心配しなくて大丈夫でしょう。

$i=0;

print($animals[$0]);

とすれば、0番目の「犬」が画面に表示されます。配列に格納されているすべての要素を取り出したいときは、for文またはforeach文を使います。

ヒアドキュメント

連続した文字列を一度に出力する

Web ページを表示する際には、多数の文字列を一度に出力することもよく行われ ます。その場合、 print 関数の文を並べて出力することもできますが、それでは若干面倒です。 そこで、 PHP4 ではヒアドキュメントという構文が追加されました。ヒアドキ ュメントは、
この範囲がヒアドキュメントであるということが分かるよう に、適当な文字列を入れます。大文字で HERE などを用いることが多いようで す。そして、表示する文字列の部分に、表示したい文字列を書いていきます。途中 に改行を入れると、その位置でHTMLに改行文字(¥n) が出力されます。 ヒアドキュメントは ” で囲んだ文字列と同じように扱われます。文字列の中に変数名を入れると、それは変数の値に置き換えられます。