PHP(ピーエイチピー)は、サーバーサイドで動作するスクリプト言語で、動的なWebページやアプリケーションを作成するために広く使われています。
PHPは初心者からプロフェッショナルまで幅広く利用されており、特にWordPressなどのCMS(コンテンツ管理システム)で採用されています。
目次
PHPの特徴
- サーバーサイドスクリプト
サーバー上で処理が行われ、その結果をHTMLとしてブラウザに送信します。 - 動的なページ生成
ユーザーの入力やデータベースの内容に基づいて、動的なWebページを生成できます。 - オープンソース
無料で利用でき、幅広いコミュニティサポートがあります。 - データベース連携
MySQLなどのデータベースと簡単に統合でき、データの保存や取得が容易です。
PHPの基本的な構文と例
1. 基本のHello World
PHPのコードは、<?php
と ?>
の間に記述します。
<?php
// Hello World を表示
echo "Hello, World!";
?>
出力例)
Hello, World!
2. 変数の使用
PHPでは変数名は $
で始まり、型の宣言は不要です(動的型付け)。
<?php
$name = "Taro";
$age = 25;
// 変数の出力
echo "名前: " . $name . "<br>";
echo "年齢: " . $age . "歳";
?>
出力例)
名前: Taro
年齢: 25歳
3. 条件分岐
<?php
$score = 85;
if ($score >= 90) {
echo "評価: A";
} elseif ($score >= 70) {
echo "評価: B";
} else {
echo "評価: C";
}
?>
出力例)
評価: B
4. ループ処理
<?php
for ($i = 1; $i <= 5; $i++) {
echo "カウント: $i <br>";
}
?>
出力例)
カウント: 1
カウント: 2
カウント: 3
カウント: 4
カウント: 5
5. フォームデータの処理
HTMLフォームと連携してデータを処理します。
<form method="post" action="process.php">
名前: <input type="text" name="name">
<button type="submit">送信</button>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
echo "こんにちは、" . htmlspecialchars($name) . "さん!";
}
?>
フォーム入力例)
名前: Yuki
出力例)
Yukiさん!
6. データベースとの連携
以下は、MySQLと連携してデータを取得する例です。
<?php
// データベース接続情報
$host = 'localhost';
$db = 'test_db';
$user = 'root';
$password = '';
// データベース接続
$conn = new mysqli($host, $user, $password, $db);
// 接続エラーのチェック
if ($conn->connect_error) {
die("接続失敗: " . $conn->connect_error);
}
// データの取得
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . " - 名前: " . $row["name"] . "<br>";
}
} else {
echo "データがありません";
}
// 接続を閉じる
$conn->close();
?>
出力例)
ID: 1 - 名前: Taro
ID: 2 - 名前: Hanako
PHPの活用例
- ユーザー認証システム
ログインフォームやセッション管理を使って認証機能を実現。 - コンテンツ管理システム(CMS)
WordPressやDrupalなどのCMSの基盤として利用。 - APIの構築
RESTful APIやWebhookの実装に活用。 - Eコマースサイト
商品管理、カートシステム、決済機能などを構築。
まとめ
PHPはWeb開発において手軽に始められ、幅広い用途で活用できる言語です。
特に動的なWebサイトやデータベースを利用したアプリケーション開発に向いており、初心者にも扱いやすい一方で、プロフェッショナルな開発にも対応できる柔軟性があります。