【PHP】は1995年に生まれたプログラミング言語になります。
プログラミング言語とは、コンピュータのプログラムを記述するための言語であり、プログラムとは、コンピュータに対して与える命令を記述したものです。
プログラムを記述する人のことを「プログラマー」と呼びます。また、コンピュータがプログラムに記述された命令に従って動作することを「プログラムを実行する」といいます。
プログラミング言語には多くの種類があり、言語ごとに得意とする分野があります。
その中で、PHPが得意とするのは、WEBアプリケーションの開発になります。
WEBアプリケーションとは、インターネットなどのネットワークを介して利用するアプリケーションソフトウェアのことです。
プログラムとスクリプト
プログラミング言語は、高機能なアプリケーションの作成に適した高度のものから、比較的簡単なアプリケーションの作成に適した簡易的なものまで様々です。
簡易的なプログラミング言語のことを「スクリプト言語」と呼ぶことがあり、スクリプト言語で書かれたプログラムのことを「スクリプト」と呼びます。
PHPで記述したプログラムについては、プログラムという呼び方と、スクリプトという呼び方の両方が使われています。
以下のPHP公式マニュアルでは、スクリプトという呼び方が使用されています。そこで、こちらの記事でもPHPのプログラムに関しては、「スクリプト」や「PHPスクリプト」と呼ぶことにします。
https://www.php.net/manual/ja/index.php
様々なWEBアプリケーションに使われている
私たちはインターネットなどのネットワークを通じて、多くのWEBアプリケーションを利用しています。
WEBアプリケーションには、例えば以下のようなものがあります。
- ショッピング
- バンキング
- ブログ
- SNS(ソーシャル・ネットワーキング・サービス)
鉄道や自動車のルート検索サイトや、ホテルやレストランの予約サイトなどもWEBアプリケーションの例です。
私たちは日常的に実に様々なWEBアプリケーションを利用しています。
WEBアプリケーションの開発に向いたPHPは、WEBサイトを構築するエンジニアにとって有益な言語であるといえます。
ブラウザとWEBサーバ
WEBアプリケーションは、ブラウザとWebサーバが連携して実現しています。
ユーザーはブラウザを操作して、ネットワークを介してWebサーバと通信することによって、WEBアプリケーションの機能を利用します。
ブラウザは、Webを閲覧するためのソフトウェアです。Webブラウザと呼ぶこともありますが、ここでは「ブラウザ」と呼びます。
ブラウザの例としては、Chrome , Firefox , InternetExplorer , Safari , Edge があります。
Webサーバはネットワークを介して接続して、ブラウザが要求したデータに応答して処理を行うソフトウェアです。
Webサーバのソフトウェアが動作しているコンピュータのハードウェアをWebサーバと呼ぶこともあります。
Webサーバの例としては、Apache(アパッチ) , IIS(Internet Information Services アイアイエス) , nginx(エンジンエックス)などがあります。
リクエストとレスポンス
ユーザーがブラウザを操作すると、ブラウザはネットワークを介してWebサーバに要求を送信します。
この要求のことを「リクエスト」(Request)と呼びます。
Webサーバはリクエストを受け取ると、WEBアプリケーションの機能を提供するプログラムを実行→実行結果を応答して、ネットワークを介してブラウザに送信します。この応答のことを「レスポンス」(Response)と呼びます。
ユーザーとブラウザがいる側のことを「クライアントサイド」、Webサーバがいる側のことを「サーバーサイド」と呼びます。
PHP言語を使ったスクリプトは、サーバーサイドで動作します。
リクエストとレスポンスは、HTTP(Hypertext Transfer Protcol)と呼ばれる通信プロトコルに基づいて行われます。通信プロトコルとは、ネットワーク上で通信を行うための取り決めのことです。
ブラウザは、Webサーバにリクエストを送って、実行結果をレスポンスとして受け取ります。
PHPが実現する機能
非常に簡潔なプログラムで、Webアプリケーションを構築できることがPHPの特徴です。
例えば、ログインやログアウトといった「ユーザ認証機能」を実現することができます。
ユーザー認証は多くのWEBアプリケーションに必須な機能です。先に挙げたショッピング・バンキング・ブログ・SNSのいずれもユーザー認証機能を含んでいます。
また、ネット通販などのショッピングサイトにおける「カート機能」を実現することができます。
カートとは、これから注文する商品を決済するまで一時的に登録しておく機能で、多くのショッピングサイトがカート機能を備えています。
これらの機能を実現する上で、重要なことは以下のような処理です。
- リクエストを解析する処理
- データベースを操作する処理
- レスポンスを生成する処理
ブラウザから送信されたリクエストを解析して、リクエストに対応した処理を行って、ブラウザに対してレスポンスを送信します。
リクエストに対応した処理の典型的な例は「データベース」を操作する処理です。
PHPは、これらの処理を簡潔に記述するための機能を備えています。そのため、PHPはWEBアプリケーションを実現するのに向いた言語となっています。
PHPを学習したいと思われた方は、以下の記事をご参考下さい。
書籍でもPHPの学習できます。推奨する書籍はこちらです。
独習PHP 第4版
PHPでWebページ/アプリケーションを開発する際に必要な基礎的な知識、PHPの基本構文から、クラス、データベース連携、セキュリティまで、詳細かつ丁寧に解説します。
解説→例題→練習問題(理解度チェック)という3つのステップで、
PHPによるWebアプリ開発の基礎・基本テクニックをしっかり習得できます。
実際にサンプルコードを入力し、動作を確かめながら学習することで、
いっそう理解が深まります。
「PHPを一から学びたい・しっかり基礎固めをしたい」
「PHPでWebアプリを作りたい」という方におすすめの1冊です。
こちらの記事も併せて読んで頂き、プログラミングを始めてみましょう。