1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP学習記録・振り返りシート

Posted at

はじめに

PHPを使ったWeb開発の基礎からオブジェクト指向までを学習しました。
学習の目的は以下です:

  • RubyやJavaでの理解を活かし、PHPでのWebアプリ開発に対応できるようになる
  • 配列・関数・クラス・例外処理など、実務でよく使う機能を整理する
  • Qiitaに自分用のチートシートとしてまとめ、振り返りをしやすくする

気づき・学んだこと

  • 🔹 PHPの関数はRubyに比べてスネークケースが多い
  • 🔹 配列操作やforeachループは実務で頻出
  • 🔹 PHPのクラス設計はJavaに近く、オブジェクト指向を意識しやすい
  • 🔹 staticやアクセス修飾子を理解すると設計力が上がる
  • 🔹 例外処理や組み込みクラス(DateTimeなど)を使うと安全で堅牢なコードが書ける
  • 🔹 配列操作(ソート、連想配列の扱い)や2次元配列はゲームや表データの実装でよく使う

PHP学習まとめ

🟢 基本文法

🟩 変数・定数

$var = 100;                // 🟩 変数
define("PI", 3.14);        // 🟨 定数

🔵 文字列

$name = "勇者";
echo "こんにちは、$name!";  // 🔵 文字列展開

🟠 配列

🟣 インデックス配列

$items = ["剣", "盾", "ポーション"];
echo $items[0]; // 剣

🟡 連想配列

$items = ["剣"=>100, "盾"=>50];
echo $items["剣"]; // 100

🔹 ループ
// 🔸 for
for ($i = 0; $i < count($items); $i++) {
    echo $items[$i];
}

// 🔹 foreach
foreach ($items as $key => $value) {
    echo "$key : $value";
}

🟣 関数

🟩 定義と呼び出し

function sum($x, $y) {   // 🟩 関数定義
    return $x + $y;
}
echo sum(3, 5);          // 🔵 関数呼び出し

🟨 スコープ

  • 🟢 関数内で定義した変数は外から参照不可
  • 🔹 global で外部変数を呼び出すことも可能

🟠 クラスとオブジェクト

🟩 クラスの基本

class Player {  // 🟩 クラス定義
    public $name;

    public function __construct($name) {  // 🟨 コンストラクタ
        $this->name = $name;
    }

    public function attack($enemy) {      // 🔹 メソッド
        echo "{$this->name}は{$enemy}を攻撃した!\n";
    }
}

$hero = new Player("勇者");  // 🔵 インスタンス化
$hero->attack("スライム");    // 🔹 メソッド呼び出し

🟨 アクセス修飾子

  • 🟢 public: 外部からアクセス可能
  • 🔸 private: クラス内のみアクセス可能
  • 🔹 protected: 継承クラスからもアクセス可能

🟣 継承とオーバーライド

class Wizard extends Player {
    public function attack($enemy) {
        echo "{$this->name}は{$enemy}に魔法を放った!\n";
    }
}

$wizard = new Wizard("魔法使い");
$wizard->attack("スライム");

🔵 クラス変数・クラスメソッド(static)

class Item {
    public static $tax = 1.08;

    public static function getTotalAmount($price, $quantity) {
        return round($price * $quantity * self::$tax);
    }
}

$total = Item::getTotalAmount(120, 15);
echo "合計金額は$total 円です。\n";

🟡 例外処理

try {
    $date = new DateTime("199x-01-01");
    echo $date->format('Y/m/d') . "\n";
} catch (Exception $e) {
    echo "不正な日付です: " . $e->getMessage() . "\n";
} finally {
    echo "処理終了\n";
}

🔴 配列操作(並び替え・検索)

$numbers = [3, 1, 4, 2];
sort($numbers);      // 昇順
rsort($numbers);     // 降順

$items = ["剣"=>100,"盾"=>50];
asort($items);       // value昇順
arsort($items);      // value降順
ksort($items);       // key昇順
krsort($items);      // key降順

🟣 まとめ

  • 🟢 変数・配列・関数・クラスは基本の構造
  • 🔵 文字列展開やループはよく使う
  • 🟠 クラス・オブジェクト・継承は実務でも必須
  • 🔴 配列操作・例外処理も実務で頻出
  • 🟡 static・アクセス修飾子を理解すると設計力が上がる

最後に

📚 学習には paizaラーニング を活用しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?