この記事では、プログラミング入門者の方へ向けて、PHPの基本構文をご紹介します。
- PHPとは何か?
- PHPの将来性
- PHPの基本構文
PHPはWebアプリ開発で現在も大活躍中のサーバーサイド言語です。
昨今では新しいプログラミング言語やフレームワーク(開発を効率化するためのツールのようなもの)が登場しています。
しかし、詳しくは後ほど(章:PHPの将来性は?)触れますが、PHPの案件は依然として多く、今後もしばらくの間は開発で使用される可能性が高いプログラミング言語です。
したがって、いまからでもPHPを学習する価値は十分にあるというのが個人的な見解です。
それでは、この記事を通してPHPの学習意義やその基本構文を学びましょう!
PHPの概要
PHPとは?
PHPとは、「Hypertext Preprocessor(ハイパーテキスト プリプロセッサ)」の略で、WebサイトやWebアプリケーションを作成するためのプログラミング言語です。
主にサーバーサイドで動作し、動的なWebページを生成するのに使われます。
当ブログサイトはWordPressというPHPで構築されているCMS(簡単にWebサイト制作できるツール・システムの総称です)で制作しています。
そのため、各ページとも
①ユーザーがページを訪れるごとにPHPがサーバー側で動き、
②画面に表示するHTMLなどを生成
③ブラウザへ送る
という仕組みが働いています!
PHPの特徴
PHPの特徴は大きく4つあります。
- ① オープンソース
-
PHPはオープンソースソフトウェアです。つまり、誰でも無料で使え、ソースコードを自由に改良することができます。
- ② サーバーサイド言語
-
PHPはサーバー側で実行されるプログラムです。ユーザーがWebページにアクセスすると、サーバー上でPHPが実行され、その結果をHTMLとしてブラウザに返します。
- ③ 使いやすさ
-
PHPは初心者にも学びやすい言語です。シンプルな構文で、すぐに使い始めることができます。
- ④ 広範なサポート
-
多くのWebホスティングサービスがPHPをサポートしており、PHPで開発されたフレームワークやライブラリも豊富にあります。
PHPの主な用途
PHPの主な用途は以下のとおりです。
- ① 動的Webページの生成
-
PHPを使うことで、データベースから情報を取得して動的にコンテンツを生成することができます。
例えば、ユーザーのログインシステムや商品カタログなどです。 - ② フォームの処理
-
ユーザーが入力したデータ(例えば、お問い合わせフォーム)をサーバー側で受け取り、メール受信通知を送信したり、入力されたデータをデータベースへ保存するといった処理をすることができます。
- ③ コンテンツ管理システム(CMS)
-
先ほど軽く触れましたが、WordPressのようなCMSはPHPで構築されています。
これにより、コンテンツの作成、編集、削除が簡単に行える仕組みが実現されています。
PHPのWebアプリ開発の例
PHPで開発できるWebアプリの例は以下のとおりです。
- ブログサイト
- ToDoアプリ
- ユーザー認証システム
- ショッピングカートシステム
- 掲示板サイト
- イベント管理システム
- フォトギャラリー
- お問い合わせフォーム
このように、PHPは様々なタイプのWebアプリを開発することが可能です。
また、PHPのフレームワークのひとつであるLaravelは、いま現在もどんどんバージョンアップが進められており、世界規模で見ても非常に人気が高いです。
■ 参考
PHPの将来性は?
これから学習してみようと思っているプログラミング言語が、これからは使われなくなってしまう可能性がある……
という状況では、学習する意味もモチベーションも失くなってしまいます。
しかし、冒頭でもお伝えしたようにPHPは今後もしばらくの間は使われ続ける可能性が高いプログラミング言語と言えます。
その根拠をお伝えします!
繰り返しになりますが、PHPはWordPressという、簡単にサイト構築ができるシステム(CMS)の開発に使用されています。
そして、世界のWebサイト全体の内、43.0%(2024年12月現在)がWordPressで作成されています。日本だけで見れば驚異の83%(2024年12月現在)という使用率です。
(これも繰り返しになりますが、当ブログもWordPressで作成してあります)
PHPで開発されたシステムがこれだけ高水準の使用率を誇るということは、その分だけPHPを必要とする案件があるということです。
■ 参考
1.Usage statistics and market shares of content management systems|W3Techs
2.Distribution of content management systems among websites that use Japanese|W3Techs
基本構文
PHPがいまからでも学習する意味が十分あるプログラミング言語だということを理解していただいたところで、ここからは当記事の主旨である「PHPの基本構文」をご紹介していきます。
様々な構文がでてくるため、初めてご覧になる方にとっては負担になるかもしれません。
しかし、一気に覚えようとするのではなく、少しずつ「チリツモ」で学習していくことで確実に身に付いていけるので、いまは「ふーん」ぐらいに受け取っていただいて大丈夫です!
変数
変数はデータを保存する箱のようなものです。
PHPでは、$
記号の後に変数名(任意の名前)を書き、値を代入します。echo
文で変数の中身を表示できます。
<?php
$variable = "Hello World!!";
echo $variable; // 出力:Hello World!!
?>
定数
定数は一度設定したら、その後は変わらない値(上書きができない値)を保存するためのものです。
define
関数で定数を定義し、名前を使ってその値を表示します。
<?php
define("GREETING", "PHPへようこそ!");
echo GREETING; // 出力:PHPへようこそ!
?>
定数は、例えば、データベースへの接続情報(IDやパスワードなど)といった、変わることのない値や、間違えて上書きしたくない値を定義するときに使用します。
配列
配列は複数の値を一つの変数としてまとめて扱いたいときに使用します。
array
関数で配列を作り、インデックス(番号)を指定して要素にアクセスします。
<?php
$array = array ("りんご", "バナナ", "さくらんぼ");
echo $array[0]; // 出力:りんご
?>
連想配列
連想配列はキーと値のペアでデータを保存します。
キーを指定することで特定の値を取得します。
<?php
$assoc_array = array (
"first" => "ジョン",
"last" => "ドウ"
);
echo $assoc_array["first"]; // 出力:ジョン
?>
配列や連想配列は、このあとご紹介するループ構文(繰り返し処理)と組み合わせて使用することが多いです。
ループ構文
for文
for文は、決まった回数だけ同じ処理を繰り返したいときに使用します。
初期値、条件、変化を設定してループを実行します。
<?php
for ($i = 0; $i < 5; $i++) {
echo "番号: $i\n";
}
// 出力:
// 0
// 1
// 2
// 3
// 4
// 条件が「$iが5より小さい間はくり返す」なので、5は出力されない
?>
「\n」は改行を意味する文字コードです。
※お使いの環境によって見え方が変わりますが、「バックスラッシュ」と「円マーク」はプログラミングの世界では同じ意味を持ちます。
while文
while文は、条件が満たされている間、処理を繰り返すための構文です。
条件が偽(false)になるまでループを続けます。
<?php
$i = 0;
while ($i < 5) {
echo "番号: $i\n";
$i++;
}
// 出力:
// 0
// 1
// 2
// 3
// 4
// 条件が「$iが5より小さい間はくり返す」なので、5は出力されない
?>
プログラミングの世界では真偽値という概念があります。(数学に登場した概念と同じです!)
簡単に言うと、真は「条件を『満たす(正しい)』」、偽は「条件を『満たさない(正しくない)』」という意味です。
また、真=true、偽=falseという英単語でそれぞれ表現します。
foreach文
foreach文は、配列のすべての要素を順番に処理するために使用します。
<?php
$fruits = array("りんご", "バナナ", "さくらんぼ");
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
// 出力:
// りんご
// バナナ
// さくらんぼ
?>
条件分岐
if-else
if-else文は、条件によって異なる処理を行います。
条件が真(true)ならif
ブロックを、偽(false)ならelse
ブロックを実行します。
<?php
$age = 18;
if ($age >= 18) {
echo "成人"; // これが出力される
} else {
echo "未成年";
}
?>
switch文
switch文は、特定の値に基づいて複数の条件を処理するために使用します。
それぞれのケース(case)に対して処理を定義し、break
で終了します。
<?php
$day = "月曜日";
switch ($day) {
case "月曜日":
echo "一週間の始まり!"; // これが出力される
break;
case "金曜日":
echo "一週間の終わり!";
break;
default: // どのcaseに一致しなかった場合に実行したい処理を記述する
echo "通常の日!";
}
?>
breakを書き忘れると、その後ろのcase文も実行されてしまうので要注意です!
関数
関数は、何度も使いたいコードをまとめるためのものです。
関数名と引数を定義し、return
文で値を返します。
<?php
function greet($name) {
return "こんにちは、" . $name;
}
echo greet("アリス"); // greet関数を呼び出す
// 出力:こんにちは、アリス
?>
スーパーグローバル変数
スーパーグローバル変数は、プログラム全体で使える特別な変数です。
$_GET
はURLパラメータを取得し、$_POST
はフォームデータを取得します。
<?php
// $_GET
echo $_GET['name'];
// $_POST
echo $_POST['name'];
?>
なかなかイメージが掴みづらいかと思いますので、詳しく知りたい方は以下の記事をご覧ください!
例外処理
例外処理は、エラーが起きたときにスクリプトの実行を続けるために使用します。
try
ブロックで例外を発生させ、catch
ブロックで例外を処理します。
<?php
try {
// 例外を投げる
throw new Exception("エラーが発生しました!");
} catch (Exception $e) {
echo "例外をキャッチしました: " . $e->getMessage();
}
?>
セッション
セッションは、主にユーザーの情報を保存するために使用します。
session_start
でセッションを開始し、$_SESSION
変数でデータを保存します。
<?php
session_start();
$_SESSION["username"] = "アリス";
echo $_SESSION["username"]; // 出力:アリス
?>
セッションはWebアプリにおいて非常に重要な技術です。(ここを理解しないと、ログイン機能を正しく実装できません)
同じく、似た技術にクッキー(Cookie)があります。
それぞれの技術については以下の記事で詳しく解説しています!
PHPは将来性のあるプログラミング言語
以上がPHPの基本構文でした。
PHPはWordPressというシェア率が非常に高いCMSで使用されているプログラミング言語です。
そのため、PHPの案件は依然として多く、今後もしばらくの間は必要とされる可能性が高いです。
また、ここ数年でLaravelというPHPのフレームワークも急激に人気を伸ばしており、世界中で注目を浴びています。
「いまからPHPの勉強を始めても無駄にならない…?」
と疑問に思っていらっしゃる方もいるかと思いますが、PHPについては少なくとも無駄になることは無く、今後も活かすことのできるプログラミング言語と言えるでしょう。
PHPはプログラミング初心者にとって決して簡単な言語ではありません。
しかし、JavaやCなど他の言語と比べれば習得しやすいプログラミング言語です。
ご興味のある方は、ぜひPHPの学習に挑戦してみて下さい!
当ブログではPHPやLaravel、また当記事でも度々登場したWordPressに関する情報を発信しています。
ご興味のある方はぜひほかの記事ものぞいていただけるとうれしいです!
それでは、最後までご覧いただきありがとうございました!
コメント