PHP クラスのサンプル

PHPのクラスのサンプルです。

確認環境
・PHP 7.1.8

目次

クラスからオブジェクト(インスタンス)を生成するイメージ

クラスからオブジェクト(インスタンス)を生成するイメージです。
例えると、クラスは型枠でオブジェクトは実体です。
new演算子を使用してオブジェクト(インスタンス)を生成します。インスタンス化するといいます。

 

クラスのサンプル

サンプルとして、クラスとそのクラスを利用する2つコードがあります。

クラス

2~12行目がColorというクラスです。

<?php
class Color
{
	private $name; //変数

	public function setName($name){ //メソッド
		$this->name = $name;
	}
	public function getName(){ //メソッド
		return $this->name;
	}
}
?>

4行目は、クラスのメンバ変数(プロパティ)です。
privateは、クラスの外部からアクセスできません。
6,9行目は、クラスのメソッド(関数)です。
publicは、クラスの外部からアクセスできます。
7,10行目の$this->は、自クラスの変数や関数を指定します。
7行目は、引数($name)の値を、自クラスのメンバ変数($this->name)にセットします。
10行目は、自クラスのメンバ変数($this->name)の値をメソッドの呼び出し元に返します。
Color.phpというファイルです。

クラスを利用するコード

上記のColorクラスを利用するコードです。

<?php
	require "Color.php";

	//インスタンスを生成
	$cr1 = new Color();
	$cr2 = new Color();
	$cr3 = new Color();

	//インスタンスのメソッドを使用
	$cr1->setName("赤");
	$cr2->setName("黄");
	$cr3->setName("青");

	print $cr1->getName(); //赤
	print $cr2->getName(); //黄
	print $cr3->getName(); //青

?>

2行目は、上記のColor.phpファイルを読み込んでいます。
5~7行目は、Colorクラスのインスタンスを3つ生成しています。
構文は、変数 = new クラス名です。

10~12行目は、インスタンスに値をセットしています。
14~16行目は、インスタンスから値を取得して表示しています。
構文は、変数 -> メソッド名です。

リンク

以下は、PHPマニュアルのクラスのリンクです。
http://php.net/manual/ja/language.oop5.basic.php

関連の記事

PHP クラスの継承のサンプル

△上に戻る