職業柄、PHPを使っているスクリプターなんですよ、自分は。俗に言うところの、PHPerってやつです(ところで、ペッパーって読むの?)。で、PerlとかRubyは触ったことがないので何とも言えないのですが、こういったWeb系の言語は、当然Webを扱うにはとても楽なわけです。
と言うわけで、今回はへたれPHPerながら、PHPってどんなモンか、と言うことを書いてみたいと思います。
<html>
<body>
<?php
echo 'PHPからこんにちは!';
?>
</body>
</html>
これを実行すると、画面にSay hello, PHPとだけ表示されます。echoというのはそのまんま表示させるという意味と考えてください。printと書いても同じ機能をします。ただ、echoの方が短いので打ちやすいです。量が増えるとわかります・・。
さて、これでは全くPHPの便利さが伝わってきませんね。サーバが処理してくれるこういった言語はどう言う時に力を発揮するかと言えば、一番わかりやすいのはフォームです。
<html>
<body>
<?php
if (isset($_POST['comment'])) {
echo 'あなたはPHPへ' . htmlspecialchars($_POST['comment']) . 'とコメントしました。';
} else {
echo 'PHPからこんにちは!';
?>
<br>あなたもPHPに挨拶をしてみてください。
<form method="POST" action="" name="form_name">
<input name="comment" type="text">
<input type="submit" name="送信">
</form>
<?php
}
?>
</body>
</html>
このようにして書くと、まず、先ほどの挨拶文と、フォームへメッセージを書くように促すメッセージと、フォームが出てくるはずです。ここにメッセージを入れて送信ボタンを押すと、このページに処理が戻り、「あなたはPHPへ’[あなたが送信したメッセージ]‘とコメントしました。」と表示されます。
全くプログラムがわからない人のために、ちょっと解説しておきますが、最初にifと書いてあるのが条件文というやつで、()内の条件が正しい値を持っていたら、その中の命令を実行するという文です。elseと言う文はそうではなかった場合に実行されます。
issetは()内の変数にデータがあるかを検証してくれる関数です・・・。変数は入れ物とお考えください。関数は何かやってくれる便利な道具と考えてください。
で、$_POSTはフォームでPOSTされたデータが入る場所です。つまり、これが変数です。今回はcommentと言うname値を与えたので、$_POSTのcommentと言う場所にメッセージが入ります。
それを表示させるためにechoさせているのですが、途中で挟んでいます。echoで複数の変数や文字列を挟む場合、「.」を付けるとそれを繋げてくれます。htmlspecialcharsと言う関数が書いてありますが、これはhtmlのタグを無効化してくれる重宝する関数です。これをかけると例えばコメント欄に<BR>で改行を入れようとしたりしても、的確に処理してタグ毎表示されます。
とまぁ、大したことがないと思うかもしれませんが、メッセージの保存方法と読み出し方法を覚えれば、ブログだろうが、掲示板だろうが、ショッピングカートだろうが、一通り作れてしまうわけです。しかも、エラーはその場で出てくるので、大抵はその場でわかります。エラーを吐かないようなバグであっても、画面の表示がおかしくなったり、意図しない表示が出てきたら、すぐにわかります。
プログラミングを勉強するにはなかなか良さそうではありませんか?ただ、勉強できる場所がないとお嘆きの方もいると思うので、次回はapacheと言うWebサーバソフトの大御所と、PHPのインストール方法について書きたいと思っていたりします。これらを一度インストールしてしまえば、例えネットワークに繋がっていなくても、自分のマシンで確認できてしまうのです。
これらの設定が出来るようになると、Webサーバの設定の方法もなんとなくわかってくるものです。あとはガリガリとコードを書いて行くのみ。流行のオブジェクト指向やらを学べたりもします。
あ、先に断っておきますが、すごいことは出来ませんよ?期待しないでください。
ちなみに、今回書いたコードは未検証です。間違ってたら指摘していただけると助かります・・・。
#1 by mas on 2007 年 12 月 2 日 - 6:19 PM
あら、ネットワークにつながなくとも確認が取れるのは便利ね。
ウチはミスを確認するために、毎回ネット上にUPしてました。
#2 by yu++ on 2007 年 12 月 4 日 - 12:28 AM
こんな寒空の中、書き込みありがとうございます。
精進します。
ただ、WinSCP経由でエディタを開けば保存>即アップロードが出来たりもします。
世の中便利ですね。
#3 by sitosama on 2008 年 7 月 17 日 - 9:04 AM
あぁ、昔練習するときにapache使ったわ。
自機内にwebサーバー立てられるのは便利よね。
#4 by yu++ on 2008 年 7 月 17 日 - 4:45 PM
Apacheを適度に極めることにより、
それだけで生活が成り立つそうです。
ただ、使われるだけってのは寂しいですよね?
#5 by sitosama on 2008 年 7 月 18 日 - 8:55 AM
というかこの例だと
“PHPからこんにちは”
とは表示されても
“Say hello, PHP”
とは表示されなくね?w
#6 by yu++ on 2008 年 7 月 18 日 - 10:55 AM
Sorry.
カリフォルニア帰りなものでw