WordPressのテーマはphpで開発されています。言い換えると、WordPressは多くの機能をPHPで実装していることを示しています。
PHPの概要
PHPは「Hypertext Preprocessor(ハイパーテキストプリプロセッサ)」の略で、主にWebアプリケーション開発で使用されるサーバーサイドスクリプト言語です。HTMLに直接埋め込む形で動的なWebページを生成できるのが特徴です。1995年にRasmus Lerdorfによって開発され、現在でも広く使われ続けています。
PHPの主な特徴
PHPの主な特徴を紹介します。
サーバーサイドで動作する
PHPはリクエストを受けてサーバー側で実行され、HTMLとして結果を返すため、ブラウザではPHPコードが見えません。
データベースとの連携が得意
MySQL、PostgreSQL、SQLiteなどのRDBと簡単に接続でき、データの読み書き・検索処理を行うWebシステム開発に適しています。
HTMLへの埋め込みが容易
PHPコードは<?php ... ?>
タグで囲むことで、HTMLファイルの中に直接書けるため、テンプレートエンジンを使わなくても簡単にWebページを生成可能です。
オープンソースで無料
PHPは無料で利用でき、幅広いOS(Linux、Windows、macOSなど)で動作するため、開発環境を整えるコストも低く抑えられます。
幅広いフレームワークの存在
Laravel、Symfony、CodeIgniterなどのモダンなフレームワークがあり、大規模なWebアプリケーション開発にも対応可能です。
PHPが活用されている主な分野
PHPが使われている分野を紹介します。
CMS(コンテンツ管理システム)
WordPressをはじめ、DrupalやJoomlaなど、多くのCMSはPHPで構築されています。
ECサイトやWebサービス
ショッピングカート機能、ログイン機能、フォーム送信など、動的な処理が求められるWebサービスで広く利用されています。
REST APIの構築
LaravelやSlimなどの軽量フレームワークを用いることで、Web APIの構築にも適しています。
PHPのメリットとデメリット
PHPのメリットとデメリットです。
メリット
- 学習コストが低く初心者でも扱いやすい
- 豊富なライブラリ・情報が揃っている
- ホスティングサービスで標準的にサポートされている
デメリット
- 書き方に自由度が高く、コード品質にばらつきが出やすい
- 最新のモダン言語に比べると冗長な書き方が必要な場合もある
PHPの実行環境
PHPを動作させるには、以下のような環境構築が一般的です。
- Apache + PHP + MySQL(LAMP構成)
- XAMPP、MAMPなどのパッケージ
- Dockerコンテナを使った環境構築
- クラウドホスティング(ConoHa、Xserverなど)
PHPの現在と将来性
一時期に比べて新規採用の機会は減っているものの、WordPressなどのCMSの普及やレガシーシステムの保守需要により、PHPの需要は依然として存在しています。また、Laravelを中心にモダンPHPとしての進化も続いており、効率的なWeb開発が可能な言語として見直されています。
PHPの書き方を学ぶ
まずはPHPの構造を理解しましょう。
PHPコードの基本構文
PHPは、<?php ... ?>
のタグで囲まれた部分がPHPのコードとして認識されます。以下が最も基本的なPHPの書き方です。
phpコピーする編集する<?php
echo "こんにちは、PHP!";
?>
このコードは、Webページに「こんにちは、PHP!」と出力します。
セミコロンで終わる
PHPの各命令文(ステートメント)は必ず;(セミコロン)
で終了します。これがないと構文エラーになります。
phpコピーする編集する<?php
echo "これは正しい";
echo "これも正しい";
?>
コメントの書き方
一行コメント
phpコピーする編集する// これは一行コメント
複数行コメント
phpコピーする編集する/*
これは複数行の
コメントです
*/
変数の宣言と使い方
PHPでは変数の名前の先頭に$
を付けます。型の宣言は不要です。
phpコピーする編集する<?php
$name = "太郎";
$age = 25;
echo $name . "さんは" . $age . "歳です。";
?>
文字列の結合にはピリオド(.
)を使います。
データ型とその使い方
PHPは動的型付け言語で、以下のような型がよく使われます。
- 文字列(string)
- 数値(整数、浮動小数点)
- 真偽値(boolean)
- 配列(array)
- オブジェクト(object)
例:
phpコピーする編集する<?php
$number = 100; // 整数
$price = 99.5; // 小数
$isActive = true; // 真偽値
$colors = ["赤", "青", "緑"]; // 配列
?>
条件分岐(if文)
phpコピーする編集する<?php
$age = 20;
if ($age >= 18) {
echo "成人です。";
} else {
echo "未成年です。";
}
?>
繰り返し処理(for / foreach)
phpコピーする編集する<?php
// for文の例
for ($i = 1; $i <= 5; $i++) {
echo $i . "<br>";
}
// foreachの例
$colors = ["赤", "青", "緑"];
foreach ($colors as $color) {
echo $color . "<br>";
}
?>
関数の定義と呼び出し
phpコピーする編集する<?php
function greet($name) {
return "こんにちは、" . $name . "さん!";
}
echo greet("花子");
?>
関数はfunction
キーワードで定義し、引数と戻り値を使って処理を分けることができます。
フォームとの連携(POST/GET)
phpコピーする編集する<!-- HTML -->
<form method="post">
<input type="text" name="username">
<input type="submit" value="送信">
</form>
<?php
// PHP
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
echo "ようこそ、" . htmlspecialchars($username) . "さん!";
}
?>
フォーム送信時にユーザーが入力した値をPHPで受け取り処理することが可能です。
PHPのファイル構成例(簡易)
pgsqlコピーする編集するproject/
├── index.php
├── header.php
├── footer.php
└── functions.php
include
やrequire
で他のPHPファイルを読み込んで、コードを整理できます。
phpコピーする編集する<?php include "header.php"; ?>
<?php include "functions.php"; ?>
<!-- 本文 -->
<?php include "footer.php"; ?>
WordPress内で使われているPHP
WordPressのテーマで使われているPHPファイルの詳細な構造等はWordPressの公式サイトで解説されています。
WordPressのプラグイン開発
WordPressのプラグインの開発についてもWordPressの公式サイトで記載があります。