第1章 PHPの仕組み
この章では、PHPの仕組みを解説します。
基本知識として理解することでプログラミングスキルの上達を向上することが出来ると考えています。
PHPの特徴
PHPとは?
PHP とは(Hypertext Preprocessor
を略したものです) は、Perlのように動的な画面を実現できるプログラミング言語で、会員システムや買い物カートなど、いわゆるウェブアプリを開発するうえで開発に適したHTML に埋め込むことができる人気のサーバーサイドプログラミング言語です。
以下はHTMLに埋め込んだ初歩的なサンプルです。
<!DOCTYPE html> <html> <head> <title>PHPをHTMLに埋め込む</title> </head> <body> <h1><?php echo "Welcome"; ?></h1> <p><?php echo "Learn PHP with this code-study"; ?></p> </body> </html>
ブラウザでの表示例
PHPの特徴
インタープリタ型
PHPの他、Python, BASIC や Perl などがインタープリタ型として代表的な言語で、プログラミング言語の命令を一つずつ解釈しながら実行する方式で、解釈実行方式ともよばれます。
セッション管理が出来る
セッション管理が簡単にできるのもPHPの特徴です。会員システムや買い物カートに必須な機能で、(語弊はあるが)簡単に構築できるのもPHPの魅力の1つです。
データベースとの連携
MySQL、PostgreSQL、Oracle、MS SQLServerなど有名なデータベースと連携・接続することが可能で、PHP5からは標準のSQLiteも利用することが出来ます。
PDF、XML、JAVAなどとの連携
PHPはさまざまなライブラリと連携することが可能で、PHPからPDFファイルを生成したりすることが出来ます。
動作に必要な仕組み
ウェブサーバーとは?
冒頭でPHPはサーバーサイドプログラミング言語であるとお話しました。PHPの話を進める前に少しだけ、この「サーバー」に関してお話いたします。
「サーバー」とは一言で表現するとファイルを管理するコンピューターであり、PHPはこのサーバー内で稼働させるプログラミング言語です。
「サーバー」はネットに繋がず閉ざされた環境でも利用されていますが、インターネットの世界においては、この「サーバー」を「ウェブサーバー」と表現することが多く、インターネット上で公開している「サーバー」という表現がイメージしやすいかも知れません。インターネットの世界においてこの「ウェブサーバー」はとても大切な存在で、インターネットの垣根を支えているといっても過言ではありません。
では、このサーバーとPHPの動く仕組みはどのようなものでしょうか?双方を一緒に役割を考えてまいります。
ウェブサーバーの役割
ウェブサーバーの役割を見ていきましょう。
例えば、あなたが毎日チェックしているSNSをパソコンで開くとします。
その場合、以下のような流れで開きます。
- PCのブラウザ(Google ChromeやEdge、Safariなど)を起動
- 「ブックマーク」から見たいSNSを選択(またはURLを入力)。
- ブラウザにSNSが表示される
この、2~3のところで、PCとウェブサーバーの間で通信が行われています。
図のようにウェブサーバーは普段なに気なく見ているSNSやホームページなどユーザーの要求に応えるためデータを用意している働きを担っています。
PHPが出来ること
PHPはサーバーサイドで動かすことを目的としたプログラミン言語です。ウェブサーバーの働きで説明した上記図において、②のリクエストを受取り③として返す働きをするのがPHPで、入力したフォームからデータを取得したり、動的にページ の内容を生成したり、クッキーを送信・受信するといった働きをプログラミングにより行うことが出来ます。
PHPを選ぶ理由
プログラミング言語はPHPだけではありません。サーバーサイドプログラミングとして、PerlやRuby、Pythonなど多く存在し、システム構築においても、PHP以外の言語で進められるケースも多く存在します。
では何故PHPを選ぶのでしょうか?PHPを選ぶ1つの理由は、ホームページを構成するHTML(Hyper Text Markup Language)と、とても相性が良いことが挙げられます。
HTML中にPHPを埋め込み、表示の一部だけを動的にすることが簡単に実現できてしまいます。CMSとして普及しているWordpressはPHPで作られていますし、FaceBookもPHPで開発されたのは有名な話です。
また、「フレームワーク」の開発もとても活発です。フレームワークとは、プログラミングルールのアウトラインを決めたようなもので、複数人でアプリケーションを構築したり、引き継ぎを効率良く行えるようにしてくれる仕組みです。
以上、PHPを動かすためのサーバー、そしてPHPの役割を説明しました。
それでは、次章より具体的なプログラミングの話に進めていきます。
コメント