PHP入門:Web開発の第一歩

Posted on 2025-07-06 by coffee

PHPはサーバーサイドで動作するスクリプト言語で、主にWebアプリケーションの構築に利用されます。この記事では、PHPの基本構文から制御構文、クラスの使い方、フォーム処理、そしてデータベース操作まで、基礎を一通り解説していきます。


📌 1. PHPの基本構文

PHPのコードは <?php で始まり、?> で閉じます。HTMLと組み合わせて使うことが多く、次のように記述できます。

<?php
echo "こんにちは、PHP!";
?>

🔁 2. for文とforeach文の違い

for 文:数値の繰り返し処理に適している

for ($i = 0; $i < 5; $i++) {
    echo $i . "<br>";
}
$colors = ["red" => "#FF0000", "green" => "#00FF00"];
foreach ($colors as $name => $hex) {
    echo "$name: $hex<br>";
}

foreach 文:配列の要素を簡潔に処理できる

🔍 foreachキーと値の両方 も取り出せます:

$fruits = ["apple", "banana", "orange"];
foreach ($fruits as $fruit) {
    echo $fruit . "<br>";
}

🧱 3. クラスとオブジェクト

PHPはオブジェクト指向プログラミングにも対応しています。基本的なクラスの定義と使い方を見てみましょう。

class Car {
    public $color;

    public function __construct($color) {
        $this->color = $color;
    }

    public function drive() {
        echo "This car is " . $this->color . " and it's driving!";
    }
}

$myCar = new Car("blue");
$myCar->drive();

🌐 4. スーパーグローバル変数(ブラウザやリクエストの情報)

PHPには様々な スーパーグローバル変数 が用意されています。

変数名説明
$_GETURLのクエリ文字列で送られたデータ
$_POSTフォームのPOST送信で送られたデータ
$_SERVERサーバーや実行環境の情報(IPやUser-Agent)
$_SESSIONセッションに保存されたデータ
$_COOKIEブラウザに保存されたクッキー

例:GETの使い方

// URL: example.com/page.php?name=Taro
$name = $_GET['name'] ?? 'Guest';
echo "こんにちは、" . htmlspecialchars($name);

POSTの使い方(HTMLフォームとセット)

<form method="post">
    <input type="text" name="email">
    <input type="submit">
</form>
$email = $_POST['email'] ?? '';
echo "送信されたメールアドレス: " . htmlspecialchars($email);

🗃️ 5. データベース(PDOによる接続と操作)

PHPでDB操作を行う際は PDO(PHP Data Objects) を使うと安全で柔軟です。

データベースに接続

try {
    $pdo = new PDO("mysql:host=localhost;dbname=testdb;charset=utf8", "username", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "接続失敗: " . $e->getMessage();
}

データを取得する(SELECT)

$stmt = $pdo->query("SELECT * FROM users");
foreach ($stmt as $row) {
    echo $row['name'] . "<br>";
}

データを追加する(INSERT)

$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute(["Taro", "taro@example.com"]);

💡 prepare()execute() を使うことでSQLインジェクション対策になります。


✍️ まとめ

この記事では、以下のPHPの基礎知識をカバーしました。

  • 基本構文とコメントの書き方
  • forforeach の使い分け
  • クラスとオブジェクト指向
  • スーパーグローバル変数でリクエスト処理
  • PDOを使った安全なDB操作