ゼロからわかるプログラミング!PHPは何故必要なのか?
いまだに勉強中だけど、PHPについてまとめます。
PHP、というかプログラミングを始めたのが2年前なので、覚えなければいけないことがたくさんある・・・。
暗記させる意味も込めて、わかりやい内容を心がけて、今後暇な時にでも記事にしたいと思う。
今回は、PHPってなんぞやってことを、自分なりにまとめました。
◯「インターネット」「Web」曖昧な言葉の意味を理解
Webサイトって言葉をよく聞いたけど、そもそもWebって何なのかって話。
プログラミングを勉強する前は、「インターネット=Web」?こんな認識でしかなかった。
こんなレベルの所から、30代になってプログラミングの勉強をし始めました。
・インターネットって何なの?
まずインターネットとは、いわゆるネットワークですね。
繋がりを表しているものであり、「世界中のコンピューターを繋ぐネットーワーク」みたいなものです。
みなさんが、Googleみたいな検索エンジンで、好きな情報を調べられるのは、インターネットでパソコン同士(もしくはスマホやタブレット)が、全世界のネットワークに繋がっているからできるんですね。
・Webって何なの?
同じような言葉で、Webって言葉があるじゃ無いですか。
これは少し難しい言葉で言うと、「World Wide Web(WWW)」のことですね。
インターネットと言う、ネットワーク上で扱われる「テキストシステム」のことをWeb(もしくは3Wとも呼ばれる)って言うんです。
良くインターネットとWebは混同されがちですが、インターネットはあくまでもネットワークで、その中で運用されるシステムがWebってことですね。
インターネット上でWebを出すほうが「Webサーバー」で、受け取る方(私たち)のことは、「Webブラウザー」と言い、これらは一般的にも使われてますね。
ちなみに、Webブラウザーで表示されるページ(一般的なホームページ)は、HTMLと言う言語(プログラミング専用の言語)で作られており、ホームページのほとんどが、HTML言語で作られてます。
◯HTMLとPHPって何が違うの?
それでは本題!
結局、PHPって何なのさ?HTML言語があれば、Webページが見れるじゃん・・・。
結論は、Webページを見るだけなら、HTML言語だけあればOKです。
しかし、PHPが無いと「Webページ上で動きのある動作」ができないんです。
簡単に言うと、Webページ上の「お問い合わせページ」や「自動見積もり」なんかはPHPで動いてたりします。
逆に言えば、動きのあるWebページを作らないのであれば、HTMLだけで問題無いです。
Webページに動きをつける言語に、「Javascript」が有名ですが、PHPと似ているんですが、実は全然違うものになります。
同じ動きをつけるものでも、下記のように違いがあります。
- Javascript → ブラウザ側で処理を行う(クライアントサイドプログラム)
- PHP → Webサーバー上で処理を行う(サーバーサイドプログラム)
上記のような違いがあります。
(Javascriptの説明については割愛します。時間があればまとめ記事にします。)
・Javascriptってどのように動いているの?
まずは、下図の下手くそな絵をご覧ください。(我ながら絵心がないw)
ブラウザーは元々中身の無い箱のようなものです。
そこに、あるWebページを見たいとなった時に、当然ブラウザー上には何も無いので見れませんよね。
そこで①のように、ページをくれと「Webサーバー」にリクエストを行います。
そうするとWebサーバーは「OK!ページ(HTMLとJavascript)を送るぜ!」と反応してくれます。
そして③のように、ブラウザーにHTMLとJavascriptが到着したら、Webページが表示されるわけなんです。
Javascriptは③の段階で初めて、プログラムが実行されることになります。
ここでミソなのが、JavascriptはWebサーバー上では動かないってことだけ覚えておいてください。
・PHPってどのように動いているの?
同じく下図の下手くそな絵を見てください。
逆にPHPは、ブラウザー上では機能せずに、Webサーバー上で機能するプログラムです。
①のリクエストまでは、先ほどと同じなので割愛します。
②が特殊で、PHPの場合はデータベース(DB)と言うWebサーバー上にある情報の倉庫みたいなものと連携して、Webサーバー上にWebページを作成するんです。
出来立てホヤホヤのWebページを、ブラウザーに渡すってことですね。
出来立てホヤホヤのWebページを渡されたブラウザーは、すぐさま表示をさせます。
これがPHPの場合の、ブラウザーでの表示される仕組みになります。
全部に共通することなのですが、ブラウザー上にWebページを表示させるには、必ずリクエストが必要になるんです。
リクエストが無いと、Webサーバー側は働きません。
といくら待ってもブラウザーにWebページは表示されないので、覚えておいてください。
専門用語
- リクエストメッセージ
→Webサーバーに求めるリクエスト
- レスポンスメッセージ
→Webサーバーが返答するメッセージ
◯PHPとJavascriptの違いは「店舗」と「屋台」の差
最後にわかりやすい例えをします。
簡単に言うと、PHPは「店舗」で、Javascriptは「屋台」なんです。
店舗の場合は、色々と設備が揃っているので、便利な器具を使って好きに料理ができますよね?
屋台の場合は、持っていける器具や食材に限りがあるので、ユーザーに出せる料理に制限がつきます。
仮に、屋台でなんでもできるように、あらゆる器具と食材を持って行ったとしても、それらを全部使うかもわからんし、そもそも持ち運びが大変です。
このように、動的な動きをWebページにつけたい場合は、PHPの方が軽く自由に色々とできるんです。
◯まとめ
まとめます。
軽い動きくらいなら、Javascriptで全然問題はないです。
でも、大きな動きや動作が重たくなりそうな動きを実装するなら、PHPの方が格段に早く、軽い、そして簡単に実装できます。
私もまだまだ勉強中ではありますが、今後PHPで学習した内容をわかりやすく記事にしていこうと思います。