第2回 PHPの基礎の基礎 - PHP基礎講座

PHP 中級 講座

Saity先生のPHP基礎講座

Lecutures on PHP

第2回 PHPの基礎の基礎 (その1)

 このエントリーをはてなブックマークに追加
  • さて、第2回の始まりだ。最初はアクセスしてくれる人がいなかったらどうしようと心配だったけど、なんとか続きを書いていく許可を社長からもらえたよ。
  • おめでとうございます!私も頑張って勉強していかなくちゃ。
  • 最低でも100回を出すまでは頑張るよ!大体月に2回のペースで更新することが決まったから、4年以上はかかる計算になるな。
  • その頃には私もプロ級ですね!

PHPが動く仕組み

  • 前回はXAMPPパッケージをインストールして、PHPを使う環境を整えたね。
  • そうそう、この間、聞きそびれちゃったんですけど、XAMPPのコントロールパネル画面から起動した「Apache」って何なんですか?
  • ApacheはWebサーバーと呼ばれるソフトウェアだよ。世界でもっとも普及しているWebサーバーでもあって、その機能の高さと安定性は折り紙付きなんだ。第1回で説明したとおり、PHPはこのApache上で動作するんだよ。
  • えっーと・・??Webサーバーって何をするものなんですか?
  • すごく簡単に言えば、Webサーバーというのはブラウザが開こうとしているURLを解釈して、対応するWebサイトの情報を探し出してデータを返してくれるソフトウェアのことだよ。ただ、Webサーバーがインストールされたコンピューターを指すこともあるね。たとえば、前回はhttp://localhost/hello.phpというURLをブラウザから開いたけど、このURLはサイトによって異なるよね。
  • 確かに、Yahooだったらhttp://www.yahoo.co.jp/だし、Googleだったらhttp://www.google.co.jp/ですね。「http://相手先/」みたいなイメージなんですけど、合ってますか?
  • そうだね。URLには必ず「http://」という文字列がついているけど、実は、これにも意味があるんだ。細かい話は省略するけど、ApacheなどのWebサーバーに接続するときにはhttp://を使うんだよ。http://の後ろはユキちゃんが指摘するとおり、接続する相手だね。今回はlocalhostとなっている。これは特別な接続先で、自分のコンピューターを表すんだ。
  • なるほどー。つまり、http://localhost/とすることで、自分のコンピューターで動いているWebサーバー(=Apache)に接続する、という事になるのね! Good!
  • 物わかり良いねぇ。その通り!
  • だんだん分かってきたかも・・・。http://localhost/hello.phpと書いたのは、自分のコンピューターにある、hello.phpを読みに行くという事なんですね。
  • そうだね。このhello.phpというファイルは実際には C:\Program Files\xampp\htdocs フォルダに保存されているんだけど、Apacheの設定で、このフォルダ以下に保存されたものをApacheが読み込んでブラウザに出力するようになっているんだ。URLと実際のファイルとの対応関係は、下の図を見てくれるとわかりやすいかな。

フォルダとURLの関係

http://localhost/folder/file.phpをブラウザで表示。

c:\Program Files\xampp\htdocs\folder内にfile.phpがあります。

  • ふむふむ。http://localhost/ から下の部分が同じ書き方になってますね。
  • うん、そうだね。http://localhost/ から下の部分は、実際のファイルとURLが、必ず同じものになるんだ。一方、実際のファイルの最初の部分(C:\Program Files\xampp\htdocs)のことを、ドキュメントルート(Document Root)とかルートディレクトリと呼ぶんだ。「ディレクトリ」というのはフォルダの別の呼び方だよ。ドキュメントルートはPHPでプログラミングする際にもしばしば重要になるから、自分のコンピューターではドキュメントルートがどこにあるのか、必ずチェックしておこう。
  • このドキュメントルートの場所を変えることはできるんですか?
  • もちろん、できるよ。ただまだ今の段階では話がややこしくなってしまうから、とりあえず、このままで進めていこう。実際のシステムやアプリケーションを作成するときは、大抵変更するんだけどね。

  



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)