本記事は初めてPHPを勉強するという人向けに、出来るだけ難しい事をせずにPHPを触れることを目的としています。
今回はPHPとは何かをざっくり理解して、実際に触るまでをやって行こうと思います。
PHPとは
まず、PHPとは何かを理解しましょう。
PHPのイメージは、
・WEBサイトを作れる。
・プログラム言語の中ではとっつきやすい。
・HTMLとかCSSと一緒に動く。
・WordPressをカスタマイズできる。
などでしょうか。まぁいろいろあると思います。
Wikipadiaでは以下のように説明されています。(一部抜粋)
PHPは主にサーバーサイドで動作するスクリプト言語として利用されており、Webサーバーから一般的なインターフェイスを通して実行することが出来る。 平易な文法のため初心者でも習得しやすく、また大規模な開発にも多く用いられている。
難しいですね。
ザックリ要約して、
「PHPは主にWebの裏側で利用され、サイトを動的(利用者や条件によって違うことをする)に表示させる事が出来ます。」
なら少しは判り易いでしょうか。
ついでに、習得しやすく大規模な開発に使われると言うことで、
勉強しやすく実用性も高いとなると勉強のモチベーションも上がりますね。笑
そもそもサイトを動的に動かすということは、現在のWEBサービスでは必要不可欠ですよね。
例をあげますと、
ログイン機能や投稿機能、同じようなページを自動的に作成して表示させる等が出来るようになります。
もっと中身の話をしますと、HTMLにif文やfor文が使うことが出来るという事です。
以上から、PHPとは主にwebを動的に動かすものと認識しておいて間違いではないです。
(ちなみにwebを動的に動かすのはPHP以外の言語でもできます。)
ザックリとしたPHPのイメージはつかめたでしょうか。
Webの仕組み
実際にPHPを触る前に、Webが動く仕組みを理解して、PHPが動くのには何が必要なのかを理解していきましょう。
先程のPHPの話の際に、サーバーサイドという言葉が出てきました。
PHPやWeb開発について調べると必ず出てくる言葉だと思います。
それもそのはず、Webというのはクライアントとサーバという2つの場所が通信して実現しているからです。
上の図は、Webサイト表示の仕組みを表しています。
登場しているものの説明として、
-
- クライアント
– この図では各個人のPCやスマホを指す。
-
- サーバー
– Webサイトを提供する企業などのPCを指す。OSはLinuxを使っている場合が多い。
-
- ブラウザ
– Webページを(主にHTMLを解析して)画面上に表示させる。InternetExplorer, Firefox, GoogleChrome,Safari等の種類がある。
-
- Webサーバー
– クライアントと通信して情報を提供する。クライアントからすればサーバーの窓口。ApacheやNginx等がある。
-
- DB(データベース)
– データを保存する場所。大量のデータの保存や高速な検索が可能。MySQL, Oracle等がある。
処理の流れとしては、
ブラウザ上でリクエスト(リンクをクリックする、ボタンを押す等)を送るとネットワークを通してサーバと通信します。
サーバでは、内部にあるWebサーバが送られたリクエストから該当するPHPプログラムを実行します。
PHPプログラムは、リクエストの内容から処理をしてHTMLファイルを生成します。
この生成されたHTMLファイルをレスポンスし、ブラウザが受け取り、解析をして画面に表示します。
以上のクライアントとサーバの通信のやり取りにより、Webが動作しています。
必要な環境
Webの仕組みを理解したところで、PHPだけではWebサイトが作れないということが分かったと思います。
Web開発を行うにはサーバーが必要となります。
さらに、サーバーの中にはWebサーバーとPHP、DB(必須ではない)が必要です。
通称これらは、それぞれ利用される以下のオープンソースソフト(無料のソフト)の頭文字を取ってLAMP環境と呼ばれます。
OSであるLinuxのL, WebサーバーであるApacheのA, DBであるMySQLのM, サーバーサイドプログラム言語であるPHP(Perl, Python)のP。
では、実際にサーバーにLAMP環境を作りましょう。
しかし、サーバーと言えば有料のイメージが有ると思います。
自分でサーバーを所有していない場合は、ネット上のサーバーを借りることになります。
実際に、永続的に無料で借りれるサーバーは無いです(多分)。
なので、サーバーを自分のPCの中に作ってしまいましょう。
(このような自PC内にサーバを作った環境をローカル環境と呼びます)
そうすることにより、自分のPCがサーバになりますし、
ネットワークを経由せずにブラウザとWebサーバのやり取りが出来るようになります。
そして、PCにWeb開発環境を一括でインストールするパッケージがあります。
XAMPPというものです。(本記事ではWindowsでXAMPPを使う前提で解説していきます。)
XAMPP Installers and Downloads for Apache Friends
上記のリンクから、XAMPPをインストールして、起動をすればWeb開発環境は完成です。
ちなみにこの環境は、あくまで開発環境であり、ネットワークを経由しないためwebに公開しての実運用は出来ません。
具体的には以下のようなイメージになります。
以上で、PHPの解説は終わりになります。
続きはこちら
【初めてのPHP】1. PHPを理解し環境を構築する(後編)