【2026年版】PHPの始め方 — 環境構築からWebページ作成まで完全ガイド
- PHPのインストールとローカルサーバーの起動
- 基本文法(変数・条件分岐・ループ・関数)
- HTMLとPHPを組み合わせた動的ページの作成
- LaravelとWordPressへの学習ロードマップ
インストール・実行方法早見表
# バージョン確認
php -v
# 組み込みWebサーバーで起動(開発用)
php -S localhost:8080
# PHPファイルを直接実行
php script.php
# Composerのインストール(パッケージ管理)
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer --version
はじめてのPHPコード
<?php
// 変数
$name = "ひよこ";
$age = 0;
$fruits = ["りんご", "みかん", "バナナ"];
// 条件分岐
if ($age < 1) {
echo "ひよこだね!\n";
} else {
echo "こんにちは!\n";
}
// ループ
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
// 関数
function greet(string $name): string {
return "こんにちは、{$name}さん!";
}
echo greet($name);
HTMLとの組み合わせ:
<?php $name = "ひよこ"; $fruits = ["りんご", "みかん", "バナナ"]; ?>
<!DOCTYPE html>
<html lang="ja">
<body>
<h1>こんにちは、<?php echo htmlspecialchars($name); ?>さん!</h1>
<ul>
<?php foreach ($fruits as $fruit): ?>
<li><?php echo htmlspecialchars($fruit); ?></li>
<?php endforeach; ?>
</ul>
</body>
</html>
よくある詰まりポイント
Q: HTMLに変数を出力するとき echo $name で大丈夫?
→ ユーザーからの入力をそのまま echo するとXSS(クロスサイトスクリプティング)脆弱性につながります。必ず echo htmlspecialchars($name, ENT_QUOTES, 'UTF-8') でエスケープしてください。
Q: 文字化けが発生する
→ ファイルの文字コードはUTF-8で保存し、HTMLの <meta charset="UTF-8"> と mb_internal_encoding('UTF-8') を設定してください。
Q: WordPressのカスタマイズで wp_enqueue_scripts などの関数がわからない
→ WordPress Codex(developer.wordpress.org)に全関数のリファレンスがあります。テーマ開発は「Child Theme」から始めると既存テーマを壊さず安全にカスタマイズできます。
PHPって最近あまり聞かないけど、まだ使われてるの?
って何?HTMLと組み合わせるってどういうこと?
変数の書き方が独特だって聞いたけど?
データベースとの連携はどうやるの?
PHPとMySQLの組み合わせはWebアプリの定番だよ。「PDO(PHP Data Objects)」というインターフェースを使うと、SQLインジェクション対策をしながら安全にDBを操作できるんだ。「$pdo = new PDO('mysql:host=localhost;dbname=mydb', $user, $pass)」で接続して、「$stmt = $pdo->prepare('SELECT * FROM users WHERE id = ?')」→「$stmt->execute([$id])」→「$stmt->fetchAll()」でデータを取得できるよ。プリペアドステートメントを使えば直接SQLを文字列連結するよりずっと安全だよ。