今回は、PHPについての基礎知識の記事です。こちらの記事はHTML、CSS、JavaScriptの記事を呼んでいる方を対象にしています。
PHPとは?
PHPとは、サーバー側で動作するプログラミング言語で、動的なWebページを生成するツールです。
PHPの概要を書くと上記のような説明になるのですが、これはもう日本語ではありませんね…。
今回の記事では、上記の概要の意味がスッキリ理解でき、PHPがなぜウェブサイトを作るのに必要なのか、何ができるのかを説明します。
PHPは何をするのか
PHPが一体何をするために存在しているのか、何ができるのかを説明する前に、少し今まで学んだ言語が何をするのか、おさらいをしたいと思います。
HTML
HTMLは、サイトの見た目を整えるためのマークアップ言語です。文書に「 <h1> 」のような『目印』をつけることで、コンピューターに自分が表示させたい見た目を指示します。
詳しいおさらいはこちら
CSS
CSSは、HTMLの見栄えを整える、スタイルシートです。HTMLだけではできないような綺麗な見た目を作ることができます。
詳しいおさらいはこちら
JavaScript
JavaScriptは、サイトの動作内容を台本のように記述し制御するためのプログラミング言語です。スクリプト言語と呼ばれています。JavaScriptを使えば自分のサイトに動きをつけることができます。
詳しいおさらいはこちら
HTML、CSS、JavaScriptだけではもの足りない
以上のように、HTML、CSSによって、サイトの見た目を整えることができます。JavaScriptによって、サイトに動きをつけることができます。
しかし、これだけではウェブサイトを作る上では少し物足りないですね。
Facebookや、Twitterを思い出してください。これらのウェブサービスは、ユーザーが入力したコメントや記事を表示しています。つまり、ユーザーが作成したデータを記憶し、ユーザーに合わせたり、必要に応じて表示をしています。
JavaScriptはコードであらかじめ指定した動作は行ってくれますが、ユーザーの入力した情報を保管して、状況に応じて表示するようなことはできません。
つまり、ユーザーが作成したデータはどこかにしっかり保存しておいて、必要に応じてそこから引き出して使うような仕組みが必要となります。
その機能を果たすのが「サーバー」です。
サーバーとは?
サーバーは様々なデータを保管します。そして、要求に応じて保管しているデータをこちらに渡す機能があります。
サーバーは、私のイメージでいうと図書館のような感じです。
図書館には沢山の本(データ)がありますね。私たちは必要な本を図書館から探して借ります。
このように、サーバーにデータを収めておけば、ユーザーの要求に応じてデータを探してきて渡すことができます。サーバーを使うことで、本格的なウェブサイトが作れますね。ちなみ、その図書館の本を整理して管理して扱えるようにしたデータの集まりを「データベース」と言います。
PHPの役割
さて、お待たせしました。ここでPHPの出番です。
先ほどの例で、サーバーが図書館であるという話を想像してみてください。図書館には本を探してくれる窓口の受付の人がいますね。
私たちは、窓口の担当さんにお願いして、本を探してもらいます。窓口の人は本の場所を探し、私たちのところまで本まで持ってきてくれます。
こういった窓口の役割こそが、まさにプログラミング言語「PHP」の役割なのです。
一番最初に「PHPとは?」の章で登場した「サーバー側で動作するプログラミング言語」というのは、PHPは、サーバー側で情報を処理するための言語であるという意味だったのです。
PHPによって、サーバーに情報を登録したり、サーバーから情報を引き出したり、サーバー側での様々な処理が可能となります。
つまり、PHPによって、私たちはユーザーの情報をサーバーに保管し、必要に応じた処理が行えるのです。
これでPHPが何をするためのプログラミング言語なのかわかっていただけたと思います。
ちなみに、PHPは窓口のような役割と言いましたが、図書館の本自体の管理維持に関してはまた違う人物が行っていますよね。
先ほど、情報を集めて管理されたものを「データベース」と呼ぶと言いました。そのデータベースを扱うのは「SQL」と言ったような別の言語が担当します。
動的なWebページってなに?
この記事の冒頭で「PHPとは、サーバー側で動作するプログラミング言語で、動的なWebページを生成するツールです。」と説明しました。
「サーバー側で動作するプログラミング言語」の箇所は先ほどの説明で理解いただけたと思います。
そのため、最後に残る疑問は「動的なWebページ」の箇所になります。
「動的」ってなに?
この「動的」という言葉が私には最初理解できませんでした。「サイトが動く?動画みたいなものか?」私は最初思ったんですが、違っていました。
実は、動的サイトとは、ユーザーに応じてサイトの表示内容が変わったりするサイトのことを言います。
思い出してください。HTMLとCSSだけで作ったサイトは、表示されるサイト画面はあらかじめ決められています。つまり、サイトを閲覧する人はみんな同じサイト画面を見ることになります。これをITの世界では「静的サイト」と呼ぶのです。
逆に、ユーザーによって画面が変わるようなウェブサイトは「動的サイト」と呼ばれます。ですので、私たちが普段遊んでいるようなウェブサービスはほとんどが「動的サイト」です。
これで冒頭の意味がわからなかったPHPの概要について全て理解していただけたと思います。
PHPの学習方法
PHPの概要がわかったところで、オススメのPHPの学習方法を紹介します。PHPのもっと詳しい説明は、学習サイトで学んだ方が良いでしょう。
しかし、その前に一つ私からのアドバイスがあります。
先ほど説明したように、PHPはサーバー側で動くプログラミング言語です。このような言語はサーバー側で動くことから「サーバーサイド言語」などと呼ばれます。もちろん、PHPの他にもサーバーサイド言語は沢山あります。初心者にも有名な言語では「Java」「C」「Ruby」「Python」などがあります。
このサーバーサイド言語を学ぶ段階に入った方は「開発環境の構築」も自分でチャレンジするようにしてください。
「開発環境の構築」とは、実際にコードを書いて実行するまでの前段階を自分の力で整えることを言います。
実はこの「開発環境の構築」はプログラミング学習を行う上でかなり難易度が高く、入門者の挫折ポイントの一つとなっています。
そのため、今までの学習ではなるべくその負担が少ない学習方法を推薦してきました。
しかし、開発環境を自分で構築することは、プログラミングをやっていく上では避けては通れない知識となります。そして、その開発環境を構築の良い勉強になるのが、サーバーとの連携が絡み出す「サーバーサイド言語」の学習の時だと私は思っています。ですので、今回の私のオススメの学習方法には、ある程度開発環境の構築の学習も含まれていると考えてください。
いきなりはじめるPHP
私の一番のオススメは「いきなりはじめるPHP」です。
この本では先ほどお話した「開発環境の構築」をかなり丁寧に解説しています。その後、PHPの書き方を丁寧に解説してくれていますので、開発環境の開発と「PHP」の基礎知識を身につけるのにぴったりな一冊となっています。本自体はかなり古いですが、不朽の名作だと思います。
気づけばプロ並みPHP
「いきなりはじめるPHP」の学習が終わった人は、続編の「気づけばプロ並みPHP」を続けて学習してください。
こちらはさらにPHPのコード書いていきます。PHPの基礎からみっちり覚えることができます。また、この書籍を学習すれば、サーバーサイド言語の仕組み自体もなんとなくイメージがつくようになるので、他のプログラミング言語の学習にも応用が効くようになります。
まとめ
PHPまで習得することができれば、プログラミングの基礎はだいぶ固まってきたと思っていただいて良いと思います。あとは自分の作りたいアプリを作るための学習計画立てるなど、具体的なプログラミングのキャリア戦略をたてましょう。
関連記事: