
PHPを学習しようと思っています。 PHPはWebサイトの作成に特化した言語と聞きましたが、 具体的にどんなことができるのかを知りたいです。
あと、逆にPHPでできないことや苦手なことがあれば教えてください。
今回はこのような疑問に答えていきます。
Webアプリケーションを作ってみたいプログラミング入門者にとって、
PHPはおすすめのプログラミング言語です。
ただし、どんな言語にも得意・不得意がありますから、
何でもできるわけではありません。
そこでこの記事では、 PHPでできること。PHPの得意分野と苦手分野についてまとめてみました。
PHPの特徴

PHPはWebアプリケーション開発に向いているプログラミング言語です。 主に動的にWebサイトを作成するためのサーバーサイド言語として使われています。
PHPはC言語やJava、Perlなどの影響をうけており、
文法的にも似ていて習得しやすい言語です。
初心者でも習得しやすい言語ということもあり、
Webサーバーサイド言語としては約80%の割合でPHPが使われています。
多くのサイトで使われていますから、仕事の需要も多く、 プログラミング言語ではJavaの次に求人案件が多い言語です。
さらに個人での受託開発に向いているプログラミング言語なので、 リモートワークとも相性が良く、 将来的にフリーランスエンジニアとして活躍したい方にはおすすめです。
PHPでできること
PHPでできることを紹介していきます。 まずは「単独的な機能」を紹介し、 次に「単独的な機能」を組み合わせて作る「総合的なシステム」を紹介します。
PHPでできる「単独的な機能」
できること①:入力フォーム(問い合わせフォーム)

ホームページやブログによくある「入力フォーム」ができます。 「問い合わせフォーム」や「メールフォーム」も含みます。
ユーザーが情報を入力して「送信」ボタンを押すと、
何かしらの処理を行う仕組みです。
この入力フォームはPHPで作るのが最も簡単です。
できること②:検索機能

グルメ情報サイト「ぐるなび」のように、 ユーザーが入力した情報を元に、 該当する情報を表示するサイトを「情報検索サイト」といいます。
この情報検索サイトで重要な役割を果たす検索機能もPHPで実現できます。
できること③:ログイン機能

Twitter・FacebookなどのSNSサイトや、 Amazon・楽天などのショッピングサイトは通常、会員制になっていて ログインすることでいろんなサービスの利用が可能になります。
このような会員制のWebサービスを作りたい場合は、ログイン機能が必須です。 PHPではログイン機能を作成することができますし、 ログインに伴うログアウト機能や新規会員登録機能も実現できます。
できること④:ファイル操作

ファイルの内容を読み込んで表示したり、
ユーザーが入力した情報をファイルへ書き込んだり、
サーバーサイド処理ではファイルの操作も必須となります。
PHPはファイルを扱う関数がたくさん用意されていて、
ファイル操作が容易にできるようになっています。
例えば、ファイルの読み込み操作1つをとっても
- ファイルを一括で読みこむ
- ファイルを1行ずつ読み込む
- ファイルを1行ずつ読み込んで、配列に格納する
- CSVファイルを読み込む
これらに対応した関数があらかじめ用意されています。 わざわざ自分で関数を作成する必要がありません。
できること⑤:データベース操作

データの管理方法としてファイルで管理する方法と、
データベースで管理する方法があります。
少量のデータならファイルでも十分です。
しかしある程度の量のデータを管理する場合は、
データベースの方が管理しやすくなります。
PHPでは広範なデータベースをサポートしてるため
いろんなデータベースとの連携が容易にできます。
(但し、データベースを操作するための言語「SQL」
は別途学習の必要があります。)
できること⑥:Web APIからデータ取得

Webサイトによっては、そのサイトが持っている貴重な情報を「Web API」として 公開している場合もあります。
Web APIを提供する目的はさまざまです。 例えば楽天やアマゾンなどのEコマースサイトでは、 商品情報を公開して自社サイトでの販売機会を増やす目的があります。
こうしたWeb APIでは、たいていPHPのサンプルコードが公開されています。 ですからサンプルコードキャンプを改良して簡単にデータ取得ができます。
PHPでできる「総合的なシステム」
できること⑦:ブログ

Webサイトを管理するシステムのことをCMSといいます。 CMSの例としてはブログがあり、その代表格といえばWordPressです。 そしてWordPressはPHPで開発されています。
PHPができるようになれば、WordPressのカスタマイズもできますし、 ブログの作成もできます。
できること⑧:ショッピングサイト(ECサイト)

PHPではショッピングサイト(ECサイト)を作成することもできます。
PHPで開発したECサイト用のシステムとして有名なのが「EC-Cube」です。 「だし」で有名な「にんべん」のネットショップや、 ランドセルを販売している「池田屋」のネットショップなど、 多くのショッピングサイトで「EC-Cube」が使われています。
できること⑨:SNSサイト

FacebookやInstgram、TwitterなどのSNSサイトも作ることができます。
Facebookも今はPHPを改良した独自言語を使っていますが、 元々はPHPを使って開発されていました。
SNSサイトを作るために必要な機能はPHPに揃っていますから、 あとはアイデア次第でSNSサイトの開発ができます。
PHPでできる「その他のこと」
できること⑩:コマンドベースでのプログラム
一般的には、PHPはWebアプリケーションを作るための言語です。 ですがWebとは関係なく、コマンドラインベースでのプログラムを作成することもできます。 コマンドラインというのはいわゆる「黒い画面」です。
計算をしたり、テキスト処理を行うプログラムを作り、 それをコマンドラインで実行します。バッチ処理のような役目です。
コマンドベースのプログラムならブラウザもWebサーバも必要なく、 PHPパーサ(構文解析エンジン)さえあれば実行できます。
PHPが苦手なこと
PHPが苦手なことは、大きくわけて次の2つがあります。
- コンピュータに大きな負荷がかかる処理
- クライアントサイドの処理
コンピュータに大きな負荷がかかる処理
画像データを高速に処理したり、大量データを処理するような、 コンピュータに大きく負荷がかかるような処理はPHPが苦手としている所です。
このような処理は、C言語やC++、Javaといったコンパイル型言語でやるのが 普通です。処理スピードの点ではコンパイル型言語に分があります。
クライアントサイドの処理
そもそもPHPはサーバーサイドの言語ですから、 クライアントサイドは苦手分野です。
デスクトップアプリも作ろうと思えば作れます。 GUIアプリケーションを作る場合は「PHP-GTK」を使います。 ですが、GUIアプリケーションはC#のような他の言語を使った方が はるかに効率がよく高性能なアプリケーションを作成できます。
大量高速データの処理やクライアント側の処理といった分野は、 JavaScriptのような他のプログラミング言語を使った方が賢明です。
PHPの知識だけでは足りない
PHPを使ってWebアプリケーションを作る場合の、 一般的な使用言語を整理してみます。
サーバー側
・PHP
・SQL
クライアント側
・HTML、CSS
・JavaScript(jQuery)
上のリストからわかるように、Webアプリケーションを作る場合、 PHPの知識以外にも、次のような言語の知識が必要となります。
- HTML、CSS(必須)
- JavaScript
- SQL
Webサイトを作るのに必要なのがHTML、CSSです。 HTML、CSSを知らないことにはWebサイトは作れませんから、 PHPを学習する前にHTML、CSSの基礎知識を習得しておく必要があります。
クライアント側(ブラウザ側)で動きのある処理をしたいのなら、
JavaScript(jQuery)が必要となります。
さらにサーバー側で、データベースを使ってデータを処理するなら、
データベースの操作言語である「SQL」の知識が必要です。
PHPの学習方法
PHPを学習する方法は大きくわけて次の2つがあります
- 独学
- プログラミングスクール
独学の場合は次の記事を参考にしてください。

プログラミングスクールを利用して学ぶ場合は次の記事を参考にしてください。

まとめ
PHPは文法も簡単で、初心者でも習得しやすいため人気のある言語です。 多くのWebサイトで使用されているため、 PHPエンジニアに対する需要も多くあります。
もしWebアプリケーションを作成するための、 サーバーサイド言語を探しているのなら、 PHPはおすすめのプログラミング言語です。