phpの基礎と将来性

phpとは

phpはjavaに次ぐ勢いで人気のあるプログラミング言語で、動的なシステムの開発に向いているサーバーサイドのスクリプト言語です。主にショッピングサイトやブログなどのWebページに使われており、HTMLで記述したファイル内に記述できるのも特徴です。比較的コードがシンプルで、プログラミング初心者にもオススメの言語と言えるでしょう。
また、オブジェクト指向にも対応しているうえ、Linux、FreeBSD等のUnix系システム,、Microsoft Windows、Mac OS Xなどといったよく使われるOSにも殆ど対応しており、ApacheやMicrosoft IISなどのウェブサーバもサポートしている言語です。phpは利便性や拡張性に優れた言語であり、Facebookで使われている自社オリジナル言語Hackや、かの有名なオープンソフトウェアのWordPressはphpがベースとなっています。

phpの歴史

phpは1994年にラスマス・ラードフというカナダのプログラマーによって開発され、ベースの言語はC言語を使用しています。
初めはただのツール群を作っただけでしたが、こんな機能がほしい!と要望が数多く寄せられ、改良を重ねていくうちに、フレームワークとして使えるようになったり、データベースとの連携ができるようになったりしました。その後の改良が繰り返され、ユーザー定義関数やクッキーのサポートも組み込まれました。このように、改良に改良を重ねて変化しながら現在のphpの形になっていったのです。

phpが活用されている分野

HTMLは静的なWebページの分野で活用されているのに対し、phpは動的なシステムの分野で活用されています。
例えば、HTMLではショッピングサイトの見た目の部分は作れても、カートや決済、データベースへの顧客情報の登録などのシステムの開発には向いていません。こういったシステムの開発にはphpが活用されています。

では、なぜこういったシステムの開発にphpが使われるのでしょうか?そこを理解するためにはJavaScriptとの違いを理解しなければいけないでしょう。phpの他にwebページの生成に使われる言語として、JavaScriptというものがあります。JavaScriptで上記のシステム開発を行わないのは、JavaScriptはユーザー側のブラウザで処理されるクライアントサイドの言語であるからです。これに対して、phpはwebサーバー側で処理がおこなわれます。よってサーバー側にあるSQL等のデータベースとの連携の分野においても活用されています。

phpの現在の需要、将来性

phpの需要は今もなお高い状態にあります。様々な企業や機関が調査している言語別の求人数のランキングや、学びたい言語ランキングでも上位に位置していることが多いです。つまり、決してマイナーで使われることの少ないプログラム言語とはいえないでしょう。
ただし、年収の高いプログラム言語ランキング等で上位に入ることは少ないです。実際に年収が高くなるのはgoやpythonなどの近年脚光を浴びてきた言語になることが多いです。これだけを見ると、最先端技術を習得すれば年収が高くなるのであれば、phpやjavaなど昔からあるメジャー言語は習得しなくても良いのではないかと思う人がいるでしょう。確かに、ここ数年でバックエンドの開発トレンドは、phpから他の言語に移行していることは事実です。しかし、依然としてwebページはphpで書かれたものが殆どで、求人の大半はトレンドの最先端ではなく、メジャーなphpなどの言語となっているでしょう。実際に2019年6月にレバテック株式会社が発表した求人数の多いプログラム言語ランキングでは、1位がJava、2位がphpでした。そしてJavaとphpの2言語で上位45%を独占している状態にありました。プログラム言語は数多くあるのにも関わらず、ほぼ半数がjavaとphpに占められている状態で、やはり最先端の案件よりも、昔から長い間メジャーになっている言語の方が安定はしている様に思えます。東京などの最先端の開発の案件が多数ある地域では、php以外でのwebサービスの開発の案件も多くあるでしょうが、その他の地域では最先端の開発案件が少ないのが現状です。技術のトレンドのみで学習する言語を決定するのではなく、地域による求人の特色も理解しながら学習する言語を決定するのがよいと言えるでしょう。

phpの前提知識

ファイルの拡張子

phpのファイルの拡張子はphpです。よって「index.php」のような名前のつけ方をするとwebサーバーがこのファイルはphpだと認識することができます。HTMLファイルの中にphpのプログラムを書いていた場合でもファイル拡張子はhtmlではなくphpとしましょう。

コメントの書き方

コメントは後からコードを見たときに理解しやすくするために書くことが多いです。言語によってコメントの書き方も異なるのでphpのコメント記述方法も覚えておきましょう。コメントの記述方法は複数あり、例えば、コメントが一行で済む場合は行頭に「//」と書く方法や行頭に「#」と書く方法があります。コメントが一行で済まない場合は「/*コメント*/」の様にコメントを囲む事で書くことができます。コメントはあまり長く書きすぎると、しっかり読む人が減りトラブルにも繋がるので、簡潔に必要な事のみ記述するようにしましょう。

phpの基礎

変数

プログラムを組む時、何度も同じ式をする場合があります。そのような時に何度も重複するコードを記述するのは効率的ではありません。そこで使うのが変数です。変数はあらかじめ任意の文字列や数字を入れておく箱のようなものです。変数のルールは「$から書き始めます」「使える文字はa~z、A~Z、0~9、_です」「数字を先頭に使う事はできません」「日本語を使う事もできますが、非推奨です」といったようなものが挙げられます。Javaなどの言語では変数の宣言前に変数の型の宣言が必要ですが、phpでは必要ありません。そこが、phpの学習が初心者向けと言われている所以でもあるでしょう。

演算子

phpでは計算や比較を演算子を使う事で行うことができます。具体的には「*、+、-、/、%」などの記号を使って計算を行う、算術演算子があります。その他にも、条件分岐の時に数値の比較を行う比較演算子もあります。これにより、もしaがbより大きければ〇〇を行う、等の様に、より細かく条件のあるプログラムが書けます。そのほかにも「not、or、and」などの論理演算を行う論理演算子があります。

順次、条件分岐、繰り返し

phpでは順次のプログラムに加えて、ifを使った条件分岐や、forを使った繰り返し処理の記述もできます。詳しい解説は書籍等で勉強していただくとして、この記事ではこれらの3つの処理自体について解説したいとおもいます。実はプログラムは複雑な様に見えて、順次、条件分岐、繰り返しの三つの処理だけ書くことができます。これはどのような複雑に動くプログラムにおいても言え、構造化定理といって数学的に証明されています。このことを知ると学習のモチベーションも上がるのではないでしょうか。他の処理はより効率的に開発を行う為に生まれたもので、根本的に使用するのはこの三つの構文なのです。

しかし、実際にコードを書こうと思っても手が止まってしまうでしょう。なぜなら、普段の生活で使っている様々な動きをこの三つに分解して考えたことがないからです。ですので、普段使うサービスをプログラムで表すとどうなるか?ということを少し意識して生活してみると、プログラムが書きやすくなるかもしれません。例えば、コンビニのレジの店員さんをプログラムとして考えてみましょう。もし、商品がレジに置かれたら(条件分岐)、置かれた商品の数だけバーコードを読み取る(繰り返し)、合計金額を表示して伝える(順次)渡された金額が正しければ(条件分岐)、会計を完了し、ありがとうございましたとお礼をいう(順次)。このように、現実で起きている出来事も順次、条件分岐、繰り返しに分解して考えてみるとプログラムを書く時にイメージがつきやすいので、ぜひ試してみてください。

まとめ

いかがだったでしょうか。本記事ではphpの市場の情報や歴史から、基礎文法の解説まで行いました。HTMLで静的なページを作成したら、phpを使用して作ることができるものの幅をさらに広げると、プログラミングの楽しさを感じる事ができるかもしれません。普段使っているwebページの見た目のみでなく、ログイン機能やショッピングサイトのカートの機能など、作れるものの幅が大きく広がることになります。フロントエンドの知識のみならず、phpやSQLなどのバックエンドの知識も有する人材になればより、市場において価値のある人材となることができるでしょう。本記事では基礎的な部分の解説しかおこなっていませんので、より詳しく学びたい方は参考書や学習サービスを活用してより詳しく学んでいくと良いでしょう。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です