PHPでどのような機能が作れるか知っておこう
別記事「【PHPプログラミング入門講座】PHPで開発された有名なWebサイト」では、PHPを使って開発している有名なWebサイトを紹介しました。これらのWebサイトは、大規模でかつ多機能ですので、漠然としたイメージしかできなかったかもしれません。
そこで、今回は小規模&機能別に分けて、PHPでどのようなことができるかを紹介します。
Webサイトの例
掲示板サイト (ユーザー投稿サイト)
多くのユーザーが集まり、メッセージを投稿したり、写真を投稿したりして、コミュニケーションをとるような掲示板サイトを作ることができます。
掲示板サイトの大規模バージョンが、FacebookなどのSNS (ソーシャル・ネットワーキング・サービス)になります。
ブログ (日記サイト)
ブログは、個人や企業の情報を発信することができる機能です。
ブログ管理者が、管理画面にログインして記事を登録し、多くの人に情報を閲覧してもらいます。
ブログの大規模バージョンが、WordPressになります。
ショッピングサイト
ショップ運営者が管理画面にログインして、商品を登録し、表側のショッピングサイトに商品画像が陳列されます。
ユーザー側は、商品一覧を閲覧することができたり、キーワード検索などで自分が好きな商品を探すことができます。欲しい商品を見つけた場合は、購入ボタンを押すと決済機能に遷移します(決済機能はクレジットカード情報などを扱うため基本的には自分で開発せず、外部の決済サービスを利用します)。
会員サイト
訪問者がWebサイトに訪問し、会員登録するとログインIDとパスワードにより、会員専用ページに入ることができるようになります。
訪問者は、会員ならではのサービスを受けることができます。
また、Webサイトの運営者は、会員とのコミュニケーションをとったり、会員の嗜好に合わせた情報提供などを行うことができるようになります。
機能の例
大量のデータの検索・データ登録/更新/削除
大量(数万件レベル)のデータを保存するための入れ物(ソフトウェア)のことを「データベース」と呼びます。
PHPはデータベースに接続して、データを検索し、検索結果を画面に表示することができます。
また、データベースにデータの登録したり、データベース内のデータを更新したり、データベース内のデータを削除したりすることもできます。
お問い合わせフォーム (メールフォーム)
様々なWebサイトには、運営者に対してメールを送ることができるお問い合わせフォーム(メールフォーム)が一般的にあります。
ユーザーがメッセージを入力して、運営者にメールを送信する機能をPHPで作ることができます。
メール自動配信機能
PHPでメール送信処理ができます。また、サーバーの機能で一定時間間隔でPHPプログラムを実行する機能があります(Linuxサーバーの場合はcron、Windowsサーバーの場合はタスクスケジューラーと呼びます)。
これらを組み合わせると、メール自動配信機能や、ステップメールなどのシステムを作ることができます。
ファイルアップロード
PDF、ZIP、画像などのファイルを入力フォームに設定して、送信ボタンを押すと、サーバにファイルアップロードする機能を作ることができます。
アップロードしたファイルを、一覧画面に表示して、他の人にダウンロードしてもらう機能も作ることができます。
一覧ページとページ切り替え機能
PHPは、データベースに登録されている記事データを取得して一覧表示することができます。
ただし、全部の記事を表示してしまうと、非常に縦長のページが表示されてしまいます。
また、表示件数が多いほどページの表示時間が長くなるという問題も発生します。
そこで、1ページの表示件数を○件と決め、一覧表示の下にページ番号のリスト(ページネーション、ページリンクなどと呼びます)を表示します。
これらの機能もPHPで実現することができます。
ページ振り分け機能 (リダイレクト機能)
例えば、アクセスしたユーザーの端末が、スマホか、タブレットか、パソコンかを判定して、その種類に応じて、表示するページを切り替える機能を作ることができます。
このような処理を「リダイレクト処理」と呼びます。
HTMLにも次のような記述でリダイレクトする処理が存在します。
<meta http-equiv=”refresh” content=”秒数;URL=’リダイレクト先URL'” />
しかし、HTMLの場合は、上記のmetaタグを記述したページをブラウザに一旦表示してから、リダイレクト処理が発動します。
PHPの場合は、ブラウザに表示する前にリダイレクト処理をし、リダイレクト先のページを表示することができます。
Web API
少し難しい話かもしれませんが、例えば、データベースからデータを取得し、JSONやXMLと呼ばれるデータ形式のデータを生成し、アクセス元の端末やサーバーに返す機能もPHPプログラムで作ることができます。
この画面を生成せず、JSONやXMLなどのデータをアクセス元のPCやスマホまたはサーバーに返す機能のことをWeb APIと呼びます。
スマホアプリのバックグラウンドのデータの処理はWeb APIを使って実現しています。
スマホアプリの場合は、画面表示はPHPなどのサーバーサイドプログラムではなく、アプリ開発専用のプログラムで作ります。そして、データベースのデータの取得、更新処理についてはWeb API(サーバーサイドプログラム)で行います。
また、Facebook APIやTwitter API、Google AnalyticsのAPIなど、何らかのサービスのデータを取得し、Webサイトに表示するような機能も、Web APIを使って実現しています。
(注:それぞれのサービスのWeb APIが何のプログラム言語で作られているかは分かりません。Web APIを説明するための例です)
クローラー&キーワード検索
やろうと思えば、Googleの簡易版のような検索エンジンを作ることができます。検索エンジンは大きく分けて次の2つの機能で構成されています。
・クローラー(Webサイトを読み込んでデータベースに取り込む)
・キーワード検索(Web画面のキーワード検索欄にキーワードを入力し検索ボタンを押すと、クローラーがデータベースに取り込んだデータを検索し、検索結果を一覧表示する)
WordデータやExcelデータの読み込み
CSVのようなテキストデータだけでなく、Wordファイル(拡張子.docx)やExcelファイル(拡張子.xlsx)などを読み込んで処理を行うこともできます。
例えば2020年3月に東京都副知事である宮坂学さんが「東京都新型コロナウイルス対策サイト」の開設を発表しました。
この時にサイトのプログラムソースが、オープンソースとしてGitHubで公開されました。
筆者も興味を持ち、このプログラムソースを確認したところ、Excelファイルを読み込んで、JSONというデータを生成する処理にPHPプログラムが使われていました。
詳しい内容は記事「東京都の新型コロナウイルス感染症対策サイトでPHPプログラムが使われていました」に書きましたのでご覧ください。
おわりに
PHPプログラミングにより、世の中にあるWebサービスの機能の多くを作ることができます。
自分のアイデアが浮かんだら、PHPで形にしてみましょう。
もしかしたら、人気のWebサービスに成長するかもしれませんよ。
PHPプログラミング入門講座 〜 全記事一覧 〜
- PHPで開発された有名なWebサイト
- 現在のページ:PHPでどのような機能が作れるか?
- サーバーについて理解しよう
- Webサーバーの処理について詳しく説明
- PHPプログラムの動作について説明
- パソコンにPHPの動作環境を構築しよう
- 一番簡単なPHPプログラムを書いてみよう
- ブラウザ画面にメッセージを表示しよう
- PHPタグの書き方と終了タグの省略
- 特殊なメッセージ(文字列)の書き方
- PHPプログラムで計算をしてみよう
- 変数
- 文字列の結合とヒアドキュメント
- ファイルの分割とファイルの読み込み
- コメント
- 定数
- 数値と文字列の性質・デバッグ
- 条件分岐 (if文)
- 論理型 (boolean型)
- 比較演算子
- 論理演算子
- 条件分岐 (switch文)
- 三項演算子
- 配列とforeach文
- 代入演算子 / 加算子 / 減算子
- ループ処理 (for文)
- ループ処理 (while文とdo-while文)
- break
- continue
- 連想配列
- 連想配列のループ処理