ゼロからわかるプログラミング!PHPは何故必要なのか?

いまだに勉強中だけど、PHPについてまとめます。

PHP、というかプログラミングを始めたのが2年前なので、覚えなければいけないことがたくさんある・・・。

暗記させる意味も込めて、わかりやい内容を心がけて、今後暇な時にでも記事にしたいと思う。

今回は、PHPってなんぞやってことを、自分なりにまとめました。

 

 

 

f:id:shimotenman:20191124104135j:plain

◯「インターネット」「Web」曖昧な言葉の意味を理解

f:id:shimotenman:20190117181128j:plain

Webサイトって言葉をよく聞いたけど、そもそもWebって何なのかって話。

プログラミングを勉強する前は、「インターネット=Web」?こんな認識でしかなかった。

こんなレベルの所から、30代になってプログラミングの勉強をし始めました。

 

・インターネットって何なの?

まずインターネットとは、いわゆるネットワークですね。

繋がりを表しているものであり、「世界中のコンピューターを繋ぐネットーワーク」みたいなものです。

 

みなさんが、Googleみたいな検索エンジンで、好きな情報を調べられるのは、インターネットでパソコン同士(もしくはスマホやタブレット)が、全世界のネットワークに繋がっているからできるんですね。

 

・Webって何なの?

同じような言葉で、Webって言葉があるじゃ無いですか。

これは少し難しい言葉で言うと、「World Wide Web(WWW)」のことですね。

インターネットと言う、ネットワーク上で扱われる「テキストシステム」のことをWeb(もしくは3Wとも呼ばれる)って言うんです。

 

良くインターネットとWebは混同されがちですが、インターネットはあくまでもネットワークで、その中で運用されるシステムがWebってことですね。

 

インターネット上でWebを出すほうが「Webサーバー」で、受け取る方(私たち)のことは、「Webブラウザー」と言い、これらは一般的にも使われてますね。

 

ちなみに、Webブラウザーで表示されるページ(一般的なホームページ)は、HTMLと言う言語(プログラミング専用の言語)で作られており、ホームページのほとんどが、HTML言語で作られてます。

 

◯HTMLとPHPって何が違うの?

f:id:shimotenman:20190117181132j:plain

それでは本題!

結局、PHPって何なのさ?HTML言語があれば、Webページが見れるじゃん・・・。

結論は、Webページを見るだけなら、HTML言語だけあればOKです。

 

しかし、PHPが無いと「Webページ上で動きのある動作」ができないんです。

簡単に言うと、Webページ上の「お問い合わせページ」や「自動見積もり」なんかはPHPで動いてたりします。

逆に言えば、動きのあるWebページを作らないのであれば、HTMLだけで問題無いです。

 

Webページに動きをつける言語に、「Javascript」が有名ですが、PHPと似ているんですが、実は全然違うものになります。

同じ動きをつけるものでも、下記のように違いがあります。

 

  • Javascript → ブラウザ側で処理を行う(クライアントサイドプログラム)
  • PHP     → Webサーバー上で処理を行う(サーバーサイドプログラム)

 

上記のような違いがあります。

(Javascriptの説明については割愛します。時間があればまとめ記事にします。)

 

・Javascriptってどのように動いているの?

まずは、下図の下手くそな絵をご覧ください。(我ながら絵心がないw)

 

f:id:shimotenman:20190117181845p:plain

 

ブラウザーは元々中身の無い箱のようなものです。

そこに、あるWebページを見たいとなった時に、当然ブラウザー上には何も無いので見れませんよね。

 

そこで①のように、ページをくれと「Webサーバー」にリクエストを行います。

そうするとWebサーバーは「OK!ページ(HTMLとJavascript)を送るぜ!」と反応してくれます。

そして③のように、ブラウザーにHTMLとJavascriptが到着したら、Webページが表示されるわけなんです。

 

Javascriptは③の段階で初めて、プログラムが実行されることになります。

ここでミソなのが、JavascriptはWebサーバー上では動かないってことだけ覚えておいてください。

 

・PHPってどのように動いているの?

同じく下図の下手くそな絵を見てください。

 

 

f:id:shimotenman:20190117181812p:plain

 

逆にPHPは、ブラウザー上では機能せずに、Webサーバー上で機能するプログラムです。

①のリクエストまでは、先ほどと同じなので割愛します。

②が特殊で、PHPの場合はデータベース(DB)と言うWebサーバー上にある情報の倉庫みたいなものと連携して、Webサーバー上にWebページを作成するんです。

出来立てホヤホヤのWebページを、ブラウザーに渡すってことですね。

 

出来立てホヤホヤのWebページを渡されたブラウザーは、すぐさま表示をさせます。

これがPHPの場合の、ブラウザーでの表示される仕組みになります。

 

全部に共通することなのですが、ブラウザー上にWebページを表示させるには、必ずリクエストが必要になるんです。

リクエストが無いと、Webサーバー側は働きません。

といくら待ってもブラウザーにWebページは表示されないので、覚えておいてください。

 

専門用語

  • リクエストメッセージ

→Webサーバーに求めるリクエスト

  • レスポンスメッセージ

→Webサーバーが返答するメッセージ

 

◯PHPとJavascriptの違いは「店舗」と「屋台」の差

f:id:shimotenman:20190117181133j:plain

最後にわかりやすい例えをします。

簡単に言うと、PHPは「店舗」で、Javascriptは「屋台」なんです。

 

店舗の場合は、色々と設備が揃っているので、便利な器具を使って好きに料理ができますよね?

屋台の場合は、持っていける器具や食材に限りがあるので、ユーザーに出せる料理に制限がつきます。

 

仮に、屋台でなんでもできるように、あらゆる器具と食材を持って行ったとしても、それらを全部使うかもわからんし、そもそも持ち運びが大変です。

 

このように、動的な動きをWebページにつけたい場合は、PHPの方が軽く自由に色々とできるんです。

 

◯まとめ

f:id:shimotenman:20190117181136j:plain

まとめます。

 

軽い動きくらいなら、Javascriptで全然問題はないです。

でも、大きな動きや動作が重たくなりそうな動きを実装するなら、PHPの方が格段に早く、軽い、そして簡単に実装できます。

 

私もまだまだ勉強中ではありますが、今後PHPで学習した内容をわかりやすく記事にしていこうと思います。