はじめに
Laravelでは、コントローラーやモデルなど、ほとんどが「クラス」として定義されています。
そのため、PHPの「クラス」の仕組みや、オブジェクト指向の考え方を理解することは非常に重要です。
この記事では、PHPのクラスについて基本から実務での使いどころまで、初心者向けに整理してみます。
①クラスとは?
クラスとは、モノの設計図のようなものです。
「プロパティ(変数)」と「メソッド(関数)」をまとめたもので、似たような処理を再利用・整理できる仕組みです。
②クラスの基本構文
class User {
public $name;
public function greet() {
return "こんにちは、" . $this->name . "さん";
}
}
用語解説:
- class → クラス定義
- public $name → プロパティ(データ)
- greet() → メソッド(処理)
- $this → このクラス自身を指す特別な変数
インスタンス化(使うにはnewが必要)
$user = new User(); // クラスのインスタンスを生成
$user->name = "田中"; // プロパティに値をセット
echo $user->greet(); // メソッドを呼び出す
出力:
こんにちは、田中さん
②アクセス修飾子とは?
プロパティやメソッドの前についている public や private はアクセス制御を表します。
コンストラクタとは?
クラスが生成されるときに最初に呼び出される特別なメソッドです。
class User {
public $name;
public function __construct($name) {
$this->name = $name;
}
public function greet() {
return "こんにちは、" . $this->name . "さん";
}
}
$user = new User("佐藤");
echo $user->greet(); // => こんにちは、佐藤さん
Laravelでのクラス活用例(Controller)
class PostController extends Controller
{
public function index()
{
$posts = Post::all();
return view('posts.index', compact('posts'));
}
}
この PostController もクラスです。
Laravelでは 「コントローラーも、モデルも、リクエストも」 すべてクラスで定義されています。