PHPはプログラミング言語の中でも習得が早く、使い勝手のいい言語として知られている。
様々な場面で「PHP」という言葉を耳にするはずだ。それだけ汎用的に使われている。
このページでは、PHPの特徴について初心者の方でもすぐに理解できる範囲でまとめた。読めば、「PHPとはこういう言語か」というのが大まかにわかるようになるだろう。
PHPのプログラミング言語としての特徴ではなく、まず何ができるかを知りたい方は、下のページのが参考になるはずだ。こちらを先に読んでいただくと理解も深まるだろう。
PHPの概要的な特徴
特徴その1.多くのWebサービスで使われている
PHPは多くのWebサービスで使われている需要の大きい言語だ。実際、次のようにプログラミングの人気度も高い。Javaが圧倒的に高いが、PHPはJavaScriptなどと並んで、使用頻度が高い言語になっている。
以下はPHPで作られている代表的なソフトウェアだ。
- Concrete 5
- EC Cube
- Media Wiki
- OpenPNE
- phpMyAdmin
- Pukiwiki
- XOOPS
- WordPress
- Zabbix
これ以外にも、世界最大のSNSであるFacebookはもともとPHPで開発されている。現在はPHPを独自に拡張したHackというプログラミング言語で改良が行われている。
特徴その2.初心者が勉強をはじめるのに適している
初心者が、プログラミングをはじめる際に、以下の点でつまづくことが多い。
- プログラミング言語を動かすための開発環境がまず作れない
- プログラムを書いて動かすまでに、ツール導入などの手間が多い
- 基本的な部分からすでに難しい
- エラーの解決方法が分からない
PHPは下記の特徴にもある通り、これらの問題で詰まることが少なめだ。初心者が勉強を始めるのに適した言語だと言える。
プログラミング言語としての特徴
続いてPHPのプログラミング言語としての特徴を説明しよう。
特徴その3.動作確認が簡単
PHPはC++やJavaのような他の言語とは違い、動作確認が非常に楽なのが特徴だ。
C++やJavaには、書いたプログラムを実行するために、コンパイルと呼ばれる作業が必要になる。コンパイルとはコンピュータがプログラムを実行できる言葉に翻訳する作業だ。
下記のような形で、一回翻訳して機械語ファイルに直してからCPUで実行する流れになる。
一方でPHPは書いたプログラムを保存すれば、翻訳することなく動作する言語だ。
このような言語の方式をインタプリンタと呼び、PHPのようなスクリプト言語に多く採用されている。
翻訳作業を行う必要がないので、楽に動かすことができる。プログラムファイル保存後は、ブラウザからPHPが置いてあるページを見れば勝手に実行される。
この手軽さはPHPならでは、だ。
特徴その4.Webアプリケーションに特化したプログラミング言語
PHPはWebアプリケーションやWebサービスといった、Web系の何かを作るのに特化したプログラミング言語だ。基本的に他のことはできないと思って頂いて構わない。
もともとホームページを改良するツール程度のプログラミング言語だったが、便利だったため一気に広がり、進化も遂げた。プログラミング言語としてできる幅も広がった。しかし、引き続きWebアプリケーションに特化した言語として存在している。
PHPにはWebアプリケーションに必要なWebサーバとの通信のリクエスト受信、レスポンス送信機能などが標準で搭載されている。
特徴その5.HTMLの中で簡単にコードを動かせる
PHPは、HTMLの中にタグ埋め込むようにして、コードを書くことで動作が可能だ。
上記のように数行のコードを書くことでHTMLだけではできない動きをつけたプログラムとしての動作が可能だ。
このように少しだけWebページでプログラムを動かしたいという場合、PHPは最適な方法だ。すぐに手間なく書け、実行結果もすぐに見ることができる。
実際、多くのWebサイトやブログシステムがPHPでできている。近年、Webサイトなどが進化して「ちょっとしたプログラム」を使わないといけない場面が増えているからだ。
特徴その6. サーバーサイドのプログラミング言語である
PHPとよく比較されるプログラミング言語が、JavaScriptだ。この両者はスクリプト言語だが、動作については全く異なる。
JavaScriptはHTMLやCSS、画像と同じようにブラウザを表示しているPCにファイルをダウンロードしてから実行し動作する。
これはクライアントサイドのプログラミング言語と呼ぶことが多い。下記のような分け方だ。
一方でPHPはWebサーバ上にファイルを置いて、以下の順で実行される。
- ブラウザ見ているユーザがクリックなど何かの操作をする
- その動作を受けたプログラムがサーバで動作する
- 動作結果をレスポンスとして、インターネット経由で送り、ブラウザ上に表示する
PHPのような言語は、サーバサイドのプログラミング言語と呼ばれる。PHPはサーバー側で動くプログラミング言語だ。
特徴その7.オブジェクト指向にも対応している
PHPには他のプログラミング言語と同様に、オブジェクト指向のプログラミングが可能な言語だ。
オブジェクト指向とは?については下記のページが詳しい。
PHPは最初からオブジェクト指向のプログラミング言語だった訳ではない。PHP5からオブジェクト指向の機能が本格的に導入されたため、それまでのバージョンでは関数ベースの機能しかなかった。
時代のニーズに応じて大きく変更を加えた言語だ。
特徴その8.データベースへの接続が簡単
Webアプリケーションを作る場合に、ページの内容をユーザの要求やブラウザのURLよって自動的に変えるためのデータが必要となる。
その時にデータを保存するツールとして最も利用されるのがデータベースだ。PHPはデータベースとの接続が、標準機能で簡単に出来る。
数行でデータベースから必要なデータを取得し、ブラウザなどの画面上に表示するプログラムが作れる。
PHP開発環境の特徴
PHPでのプログラムを作成するための開発環境や使われているアプリケーションの特徴について説明する。
特徴その9.開発環境が簡単に用意できる
PHPを動かすために動作環境を準備する必要がある。PHPの一番メジャーな動作環境で言えばLAMPである。
- L:Linux
- A:Apache
- M:MySQL
- P:PHP
これはPHPと動作するのに必要なミドルウェアの頭文字を取ったものだ。多くのレンタルサーバーはこの構成でできている。かつ、PHPが動くことも前提で作られているので、月数百円払えばPHPプログラムを作ることが可能だ。
さらに、すぐにそれを世の中にも公開できる。勉強をはじめるのにいいモチベーションになるのではないだろうか?
また、WindowsやMacなどでもPCでもLAMPのような動作環境を作ることは出来る。XAMPPというツールを使えばすぐに環境が作れる。
XAMPPは、ApacheとMySQLとPHPが入ったツールである。ダウンロードしてインストールするだけであとは、ボタンをクリックすれば使えるような簡単ツールだ。
特徴その10.専用の開発ツールがなくても作成できる
PHPは専用の開発ツールがなくてもプログラムが書ける。下記のように、OSに搭載されているテキストエディタでプログラムを書ける。
- Windows:メモ帳
- Mac:テキストエディタ
- Linux:Vi
最初のうちは上記のようなテキストエディタで、プログラムの構文に慣れてから、Sublime TextやEclipseなどの開発ツールを使うと更に開発効率が上がるだろう。下記はご参考に。
特徴その11.公式マニュアルが豊富
PHPにはPHP マニュアル(https://secure.php.net/manual/ja/index.php)という公式サイトがある。
これはPHPのプログラミング言語の仕様が全て載っている。
主な内容は以下の通り。
- インストール方法
- 各バージョンでの機能や、前後のバージョンとの差異
- 使える値の型や種類
- 使える構文
- 標準関数の引数や戻り値
- クラスやモジュールの機能について
PHP マニュアルには標準関数やクラス、モジュールで提供されている機能について、サンプルのプログラム付きで解説が載っている。
プログラムを書く際に参照することが多くあるので、初心者は是非ともチェックすべきだ。
特徴その12.フレームワークが多い
フレームワークとは開発の効率を上げるために、アプリケーションでよく使う機能のプログラムが既に完成された型のようなものだ。
Webアプリケーションの場合は、以下の機能がフレームワークで提供されていることが多い。
- Webサービスのリクエスト受信、レスポンス送信
- データベース接続
- HTMLのレイアウト
大規模なアプリケーションの場合、上記のような基本となる機能はフレームワークで既に作られているため、一からプログラムを作ることはあまりない。
基本となる機能は既にあるため、アプリケーションの画面デザインやプログラムのロジックの作成に注力する。
PHPの場合、他の言語と異なり以下のように多くのフレームワークがある。
- CakePHP
- CodeIgniter
- FuelPHP
- Laravel
- Phalcon
- Symfony
- Yii
- Zend Framework
ここに挙げたのは代表的なもので、他にも多くのフレームワークが存在する。
選ばないといけないというデメリットはあるが、機能の特徴に合わせて選べるというメリットも大きい。
フレームワークは一度使い方を覚えると、その後はスムーズに使えるようになる。そのためプログラムの構文を覚えたら、上記のフレームワークを使ってプログラムを作ってみるのも良いだろう。
まとめ
このページではPHPの特徴をまとめてご紹介した。
- Webに特化している
- サーバーサイドのプログラムだ
- 初心者に優しい