Windowsでウェブサイト開発入門 PHPでプログラミング 6 PHPを理解する

PHP
この記事は約10分で読めます。
スポンサーリンク
スポンサーリンク

こんにちは。ウェブプログラミング入門です。

プログラミングの第一歩として簡単なプログラムを作り、Windowsパソコン上にサーバー環境を構築して、ブラウザで表示できるようになる方法を説明していきます。

プログラミング未経験の方でも、ウェブサイト開発の体験ができる内容になってます

第6回目の今回は、PHPについて説明します。細かい言語仕様というより、言語の位置づけと特徴などを中心に紹介していきますね。

とはいえ、最後の方では、PHPコードの説明もしますので、実践に近づいていきますよ!

スポンサーリンク
スポンサーリンク

PHPを理解する

PHPはウェブサイトを作るのにつかわれている言語

PHPとは、プログラム言語の1つで、ウェブサイトを作るのに広く使われています。PHPのほかにも、rubyだとかJAVAなども使われますが、まずどれか学ぶとしたらPHPから学習をスタートするのがお薦めです。

個人で受けるような小規模な仕事だとJAVAが必要な例はあまりないですし、PHPの方が習得がかなり楽です。そしてパワフルです。

つまり色々と使える幅が広い言語なのです。

フレームワークが使えることも重要

PHPにはlaravelというフレームワークがあります。

フレームワークというのは、ウェブサイトを作るうえで必要となる処理をまとめたライブラリ集のようなものです。

例えば、ログインの仕組みだとか、リクエストを受け取ってという部分とか、レスポンスをブラウザに返すところとか、よく使われるものが用意されています。

ウェブサイトのプログラミングで必要になる仕組みを、開発者が1からすべて作るのは大変ですし、セキュリティー上、完全に安全なものを作るのは、かなり大変ですよね。

フレームワークを活用することで、開発作業の負担を軽減させることができるのです。

全て自作するよりフレームワークを使った方が安全なサイトを作れる

フレームワークを使うことで、いちから自作のログイン処理を作るよりも早く作れるだけでなく、セキュリティ上も安全なサイトを作ることができます。

自分だけで何もかも作り上げようとするのは、一言で言うと、時間の無駄です。

ぜひ、フレームワークも使えるようになっていきましょう。

Rubyにも Ruby on Rails というフレームワークがありますが、こちらもかなり有名です。

もちろんlaravelもそれに劣らず使いやすく、パワフルです。

PHPのウェブプログラミング上の位置づけ

下図はブラウザでウェブサイトを閲覧するときの、処理の流れを簡単に図示したものです。

ユーザがウェブブラウザで表示要求を出し、サーバーが要求に応じてウェブページの内容を配信します。

PHPはサーバーで実行されます

その流れの中でPHPで書かれたコードは、サーバー上で実行されます。

そして、実行された結果は、HTMLになり、ブラウザへ配信されます。

ブラウザは、送られてきたHTML、CSS、Javascript のコードをレンダリングします。

レンダリングとは、データを基に、内容を表示することです。

なおJavascript もプログラム言語ですが、PHPと違い、ブラウザ側で実行されます。

(そうじゃないJavascriptもあるのですがPHPを使う限り不要です。)

HTML、CSS、Javascriptはブラウザだけで表示可能

HTML、CSS、Javascript だけで作られたウェブサイトの内容は、ウェブサーバーがなくても、ブラウザだけで表示することができます。

htmlファイルをブラウザで開いてみれば、見れるんです。

それに対して、PHPが埋め込まれたhtmlファイルは、ウェブサーバーを通さないとみることができません。(ファイル自体は表示されるのですが、PHPコードが実行されず残ったままになります。)

だからといって開発段階から、未完成のウェブサイトをサーバーで開発するのはコストがかかってしまいますし、共用サーバーだと、暴走の危険もあります。

できれば、ローカル環境(つまり、自分のパソコン)でPHPを含んだウェブページも表示させたいですよね。

XAMPPがあると自分のパソコンでPHPも実行・表示できます

そんなとき、XAMPPというウェブサーバーアプリセットを自分のパソコンにインストールすれば、PHPが使われたhtmlファイルも、ちゃんと表示されるようになります。

この講座の最初で、XAMPPをインストールしてもらったのは、PHPを実行するためだったのです。

PHPコードの有り無しによる表示の違い

実際にPHPありなしで、ブラウザでHTMLファイルを直接、開いてどうなるか見てみましょう。

PHPコードがない場合

まずは、PHPなしバージョンです。

CSSもブラウザだけで表示できるということを示すため、下リストのCSSファイルも読み込んでます。h1タグだけデザイン変えてます。

このno_php.htmlファイルをブラウザで直接表示した場合が下図です。

URL表示欄が、Cドライブのxamppフォルダの下のno_php.html ファイルになってますね。

このように、PHPが使われてなければ、ちゃんとブラウザだけで htmlファイルを表示することができます。

ちなみに、XAMPPを通して、つまり、ウェブサーバーを介して表示させても、全く同じ表示になります。下図は、URL表示欄が、localhost で始まっていますよね。

これは、実際に、外部のウェブサイトを見るときと同じ流れで、XAMPPの中のapache(アパッチ)というウェブサーバーアプリがウェブページの内容を配信しているんです。

PHPコードがある場合

次に、HTMLファイルにPHPを埋め込んでみます。

PHPを使う場合、PHPコードでまるまるウェブページを記述することもできますが、大変な作業になるので、絶対必要な部分だけPHPで書き、HTMLファイルに埋め込んで使います。

「絶対必要な部分」とは、「表示を動的にしたいところ」です。

つまり、表示させるたびに変えたい内容のところだけPHPコードを埋め込む、というのが基本の考え方です。

CSSはさっきと同じものを使いますので、HTMLファイルだけ下に示します

 

(補足).htaccessファイルでXAMPPのウェブサーバー設定を変更

実は、サーバー設定によっては、拡張子がhtmlのファイルではPHPを実行しないようになってたりします。XAMPPのデフォルト(インストールして設定を変えてないとき)もPHPが実行されません。

apacheの設定を変更することで対応できるのですが、それを簡易的に行うために、PHPが埋め込まれたhtmlファイルと同じフォルダに .htaccess という名前のファイルを作って、下の2行を書いておくことで、拡張子htmlのファイルでPHPを実行させるようにできます。

 

PHPコードがある場合の表示結果

ファイルをブラウザで直接書いた場合、<?php と ?> のタグで囲まれた部分は、表示されてないですよね。

ファイルを直接開いた場合

ブラウザで右クリックして、「ページのソースを表示」を選ぶと、レンダリングする前の「素(す)」のファイルを表示することができます。

いま、ページのソースを表示してみると、当たり前ですが、ファイルそのものが表示されてますよね。

<?php と ?>で囲まれた部分はブラウザでは表示されてないですが、ページのソースファイルからなくなっているわけではありません。

XAMPPのウェブサーバーアプリを介して表示させた場合

それでは同じファイルをウェブサーバーアプリを介して表示させてみます。このときは、ウェブページの中に、サーバーにアクセスした時刻と、その下に一行、文章が表示されています。

もう一回、F5キーを押しして再表示させてみて下さい。

すると、下図のように表示が変わります。

ソースファイルも表示させてみましょう。

下図のようになります。ファイルを直接表示させた場合と違って、シンプルなのが分かりますでしょうか?

<?php と ?>タグも見当たりません。理由は、<?php タグと ?>タグで囲まれた部分は、ウェブサーバーアプリで実行され、処理結果だけがブラウザに送られてくるからです。

HTML、CSS、あと Javascript もブラウザにそのまま送られてきます。

 

PHPコードの説明

ここからは、今見てきたPHPコードの部分を説明しますね。

 

現在時刻を表示させる

ひょっとすると、実行結果からPHPコードの意味も推測して頂けているかもしれませんね。

PHPコードは、<?php と ?> のタグで囲まれた中だけです。

ここでは、 echo date('Y/m/d H:i:s'); ですね。

まず、PHPでは、命令を ; (セミコロン)で区切ります。ここでは1文しかないので、区切らなくても動くと思いますが、それでも、区切ったほうが見やすくてよいです。

そして、echo というのは、「文字を表示して」という命令です。

そのあとの date() ですが、関数を意味します。関数とは、「何か処理をして結果を返すもの」であり、date関数は、日時を()の中で指定したフォーマットで文字列に変換してくれます。

date('Y/m/d H:i:s') は、実行したときの現時刻を表示する関数です。Yは年、mは月、dは日、そして、Hは24時間表記の時、iは分、sは秒を表します。

 

ランダムに文字列を表示させる

では次の箇所にいきます。

次の部分では、画面が表示されるごとに毎回違うメッセージが出る、というプログラムを組んでいます。

 

リストのコードは少し長いですが、新しく出てくる要素は3つですね。rand()という関数と、if () という条件分岐です。そして $ ドルマーク が出てきてますね。

まず、$でつづく $random ですが、変数を意味します。変数とは、何かの計算結果などを入れておく箱ですね。PHPでは変数は$で始めるルールになってます。

そして、rand(0,2); という記述ですが、これは、date()と同じく関数の1つです。

rand()関数は、乱数を作ってくれる関数になってまして、rand(0,2)とすると、0から2の間の数を、ランダムに選んで返答してくれます。

そして、if elseif else というのは、条件分岐になってます。

if () で、()の中が成立したら、{} の中を実行します。

if ($random == 0 ) であれば、「$random変数の中身が 0 に等しかったら」 という意味になります。 == というのが、「等しければ」という比較の演算子になります。

$randomというのは、rand(0,2)の結果が代入されているので、0になることもありますよね?

そして、{} の中身は、echo (文字を表示してという命令)なので、「今日はすっごくいいことありそうですよ!」という文字列を表示します。

 

 } のあと、elseif () とありますが、else 「その他」って意味なので、

elseif ($random == 1) {}は、「そうじゃなくて、$random変数の中身が1に等しかったら {} の中を実行する」という意味になります。

{}の中身は、「今日もがんばりましょう!」と表示しろ!となってますね。

最後、else {} は、もう条件なしで「そうでなければ{}の中を実行してね!」ってことになります。

 

0~2のでたらめの数を発生させて、それぞれの数字に応じて、違うメッセージを表示させるという内容でした。

PHPには、いろんなことができますが、基本的には、条件によって、表示する内容を変えるということに使います。

まとめ

今回は、PHPというプログラム言語の、ウェブサイトを構成する上での位置づけを紹介しました。

  • PHPというのは、ウェブサイトを作るのにメジャーな言語のひとつです。
  • PHPは、ウェブサーバー上で実行され、実行結果がHTMLファイルに埋め込まれてブラウザに配信されます。
  • PHPの一部のコードを説明しました。

次回から、PHPを使ったウェブサイトの例を紹介していきますね。

ゆくゆくは、本格的で実用的なサイトを作るためには楽ができるフレームワークを使っていくことになりますが、最初は基本を知るために、PHPを直接入力していくほうがオススメです。何かあったときに、自分で原因をつかみやすくもなります。

そこで、PHPを直接入力する形で講座を進めていきますね。

次回も楽しみにしてくださいね。

第1回:概要とウェブサイトの表示される仕組み
第2回:XAMPPのインストールとウェブサーバー起動
第3回:Visual Studio Code(エディタ、略してVS code)のインストール
第4回:XAMPPの動作確認とVS codeでのプログラムコードの入力
第5回:HTML、CSSを理解する
第6回:phpを理解する

この記事が気に入ったら
いいね ! しよう

コメント