PHP入門講座(初心者向け)
Webサイトを構築しよう

PHPとはどんなプログラミング言語なのか?どんなことができるのか?など、PHP初学者の方向けに、基礎知識や特徴、その他PHPで実装できることなどを詳しく解説していきたいと思います。

PHPとは

イメージ イメージ

静的にWebページの表示を行うHTMLはマークアップ言語と呼ばれ、それに対して動的にWebページを生成するPHPはプログラミング言語と呼ばれています。WebアプリやWebサイト内で動的に生成するページなどはPHPが使われています。Web制作の学習を始める方は、HTMLやCSS、JavaScriptなどから学習することが多いと思いますが、スキル取得の難易度はそれらと比べるとやや難しい言語です。

現在のプログラミング言語は200以上あるといわれていますが、その中でも非常に人気が高く、日本の企業では非常に多く使われている為、PHPのスキルを取得していると仕事ができる幅が広がります。
こちらでは、PHPの特徴や役割、使用される箇所などについて解説をしていきます。

PHPの特徴と役割

PHPの主な特徴としてHTMLで記述したファイルの中にPHPのプログラミング言語を埋め込んで使える、ことが挙げられます。これによって、HTMLとPHPをそれぞれ別々のファイルとして扱うのではなく、一つのファイルにまとめられるので管理やサイト改修をする際に便利です。

また、PHPとは別にWebサイトに動きをつける事ができるJavaScriptがありますが、PHPとの大きな違いはPHPはサーバーサイドのプログラミング言語であるのに対し、JavaScriptはフロントサイドの言語という違いがあります。いわゆる、PHPではサーバーとの連携やデータベースなどを呼び込むために使われる言語となります。

PHPが使われる場面

Webサービスなどで使用されるPHPは、問い合せフォームや販売実績、買取実績など、膨大な情報量がある場合はデータベースに登録し、PHPを記述することでそれをWebページに反映させるなど、使用場面は多岐に渡ります。

また、最近多くなったWebマガジン等のコラム記事などで使用されるWordpressに関しては、オリジナルテーマで制作する際はPHPが使用され、コラム記事を新規投稿した際に新着記事として表示したり、関連記事として表示したりする事ができます。Wordpressは2003年頃から使用されるようになりましたが、直近10年ほどで企業サイトやブログ型のマガジンサイトにも多く使用されるようになった為、PHPを学習することで、そのスキルを活かす事ができる場が非常に多くなりました。

PHPの開発環境を整えよう

イメージ イメージ

PHPの開発環境は複数ありますが、企業の求人サイト等で必要なスキルとして記載されているのは、「LAMP環境による開発」、「Linuxでの使用経験」などが多くあります。これらは、PHPでの開発が必要になる事を示す記載ともいえますが、こちらでは初心者の方でも使用がしやすい開発環境も含めて解説していきたいと思います。

XAMPPを使った環境構築

PHPの初学者におすすめの開発環境の一つでもあるXAMPP(ザンプ)。XAMPPはPHPの実行に必要なローカルサーバーのApache、データベースのMariaDB、PHPの本体がパッケージになった統合環境構築ツールです。

XAMPPの開発環境を使用するメリットはいくつかありますが、初学者にとって一番初めに経験する壁は、インストール後の設定です。開発環境の設定が上手くいかない事も少なくなく、場合によってはそこで挫折をする人も。これはPHPの開発環境だけではなく、どのソフトであってもインストールやダウンロードした後の設定がややこしくて、別のツールやソフトを使用するということがあるのと同じです。XAMPPは、インストールをすることで開発環境の設定などが完了するので、初学者にとっては多く使用される開発環境です。

一方で、他の開発環境と比較してデメリットもあり、代表的なものとしてXAMPPをインストールするとApache、MariaDB、PHPのバージョンが一律に固定されてしまいます。開発会社で複数の案件を開発している場合や、フリーランスでも複数の案件を受託している場合、企業に就職している場合で複数の開発に携わっている場合は、このバージョンが一律で固定されてしまうと開発が難しくなります。例えば、一つの企業をとっても、保有しているWebサイトやWebサービスに使用されているPHPのバージョンが同じ、というのはあまり多くありません。そのWebサービスが開発された時期が異なるため、一般的には使用されるPHPのバージョンも異なるのが一般的です。複数のバージョンを使用して開発を行っている場合は、このXAMPPは向いていません。

IDEを使った開発環境

IDE(統合開発環境)を使った開発環境は、ソースコードエディター、ローカルビルド自動化、デバッカーなど複数の一般的な開発者用ツールを一つのグラフィカル・ユーザー・インターフェースで使える様にしたものです。

IDEを使うメリットは、セットアップ処理として複数のユーティリティを手動で設定して統合する必要が無く、手間をかけず開発環境を整える事ができるため、PHPの開発環境を構築する際に多く使われています。

オンライン実行環境

オンライン開発環境は、上記の様に開発環境を構築することなくブラウザ上でPHPコードを記述する開発環境です。これらは、基本的に無料で使えるものが多いですが、企業などの開発環境としては使用されているケースは少なく、ツールを使用して開発環境を構築していることがほとんどです。

LAMP環境

まず初めに、PHPの開発環境として使用されるLAMP環境は、「Linux」「Apache」「MySQL」「PHP」の頭文字をとったもので、Webアプリを開発するにはOS、サーバー、データベース、プログラミング言語が必要となりますが、それら4つのオープンソースソフトウェアを使ったWebアプリ開発の環境のことをいいます。

こちらでは、LAMPの一つひとつの特徴や役割についても解説していきます。

Linuxの特徴

Linuxは、OSの一種で、一般的なパソコンなどの代表的なOSとしてはWindowsやMacがあげられますが、開発する際にもOSは必要となりLinuxが多く使用されています。

Linuxは、オープンソースでコストが低く、設定や改変が自由にできることなど利便性が高い特徴があります。

Apacheの特徴

ApacheはコンピュータをWebサーバーとして利用するソフトです。Webサービス、WebサイトでPHPを使用する目的として、データベースに登録した情報をWebページに表示する際に使用されますが、そのデータを収納しているのがサーバーであり、その際に多く使われているのがApacheです。

MySQL

MySQLは、データベースの管理システムの一つで、PHPなどを用いてWebアプリケーションを開発するためには必要になります。データベースとは、例えば問合せフォームが設置されているWebサイトがあったとすると、そのフォームに入力された氏名や電話番号などの個人情報がありますよね。フォームに入力された個人情報はデータベースで管理することになり、その登録や更新、削除といった操作を行うためのソフトが必要になります。その管理を行うのがデータ管理システムとなり、MySQLはデータの管理を素早く行う事ができ拡張性が高いので、開発現場では多く使われています。

PHPでできる事

イメージ イメージ

PHPは主にWebサービスやアプリ、システムの開発に使用されています。しかし、未経験者にとっては理解が難しいかもしれません。一般的な使用例は、以下のような機能の実装や開発です。

SNSサイトの作成

PHPを使用すると、TwitterやFaceBookといったSNSサイトを作成することが可能です。主に以下の機能です。

・ユーザーの登録やログイン
・投稿の作成や編集
・他のユーザーとのメッセージのやり取り

PHPはこれらの機能を実装するための強力なツールで、これらの機能を組み合わせることで、PHPを使用したSNSサイトの基本的な機能を実装できます。

ECサイトの作成

PHPを使用すると、ECサイトを作成できます。主に以下の機能です。

・商品のデータベース管理
・ユーザーのログインや登録
・カート機能
・決済処理

などの機能を実装できます。データベースと連携して商品情報を表示し、ユーザーが商品を選択しカートに入れて注文する流れを実現します。セキュリティ面も重要で、PHPは安全な決済処理を提供します。

お問い合わせフォームの作成

PHPを使用すると、お問い合わせフォームを簡単に作成できます。フォームに入力された情報はPHPで処理され、メールやデータベースに送信されます。PHPはフォームの入力値を検証し、適切なエラーメッセージを表示します。また、セキュリティ対策も重要で、PHPは入力データのサニタイズやエスケープ処理を行い、悪意のある攻撃から保護します。

予約システムの実装

PHPを使えば、予約システムを作成できます。ユーザーはフォームに情報を入力し、PHPはそれを処理し、データベースに予約情報を保存します。ユーザーは予約可能な日付や時間を選択し、PHPはその情報を検証して予約の可否を判断します。また、管理者は予約を管理でき、予約状況を確認できます。

検索機能

PHPを使って、検索機能を実装できます。ユーザーが検索フォームにキーワードを入力すると、PHPはデータベースからそのキーワードに一致する情報を検索し、結果を表示します。検索結果はユーザーにわかりやすく表示され、検索体験を向上させます。

ブログ・掲示板サイトの作成

PHPを使って、ブログや掲示板サイトを作成できます。ユーザーは投稿を作成し、PHPはそれをデータベースに保存して表示します。ユーザーは記事を閲覧し、コメントを投稿できます。管理者は投稿やコメントを管理し、サイトを運営します。PHPはこれらの機能を実装し、ウェブサイトを動的に管理できる強力なツールです。

APIとの連携

PHPを使用すると、APIとの連携が容易に行えます。APIを使用すると、外部サービスやデータベースからデータを取得したり、情報を送信したりできます。PHPはHTTPリクエストを送信し、APIからのレスポンスを処理して、ウェブサイトやアプリケーションに組み込むことができます。これにより、様々なサードパーティのサービスやデータにアクセスし、機能を拡張することが可能です。

PHP入門の問題集をやってみよう

イメージ イメージ

忍者CODEの無料問題集は、今まで学習してきたこと(インプット)をアウトプット(実際のコードを書くこと)をすることでスキルを高める事ができます。PHPの入門編として問題を解いていきましょう。

PHP入門講座(19問)

まとめ

イメージ イメージ

こちらではPHPの特徴や開発について、そして使用される場面などについて解説しました。記事内でも書いてきた通り、PHPは多くのWebサイトで使用されており需要も高いため、スキルを取得することでエンジニアとして転職や、フリーランスでの活躍の場が広がります。まずはPHPに関する知識をつけ、一つひとつ無料問題集を解いていきましょう。

PHP以外のプログラミング言語を学ぶ

あなたに合った学習プランは? 適正コース診断