PHPのクラスについて学習した事のアウトプットです。
クラス
クラスとは定数や変数(プロパティ)と関数(メソッド)をまとめたです。
※PHPマニュアルには”クラスの中にはプロパティそしてメソッドを含めることができる”と記載されている
SimpleClass.php
<?php
class SimpleClass
{
// プロパティの宣言
public $var = 'a default value';
// メソッドの宣言
public function displayVar() {
echo $this->var;
}
}
?>
疑似変数 $this
PHPマニュアルには”メソッドがオブジェクトのコンテキストからコールされる場合は、 疑似変数 $this
が利用可能。 $this
は、呼び出し元オブジェクトの値”と記載されている。
サンプルコードを作成し考察する。
SimpleClass1.php
<?php
$var = 'global value';
class SimpleClass
{
// プロパティの宣言
public $var = 'property value';
// メソッドの宣言
public function displayVar() {
$var = 'local value';
echo $this->var; // 'property value'を出力
echo "<br>";
echo $var; // 'local value'を出力
echo "<br>";
echo $GLOBALS['var']; // 'global value'を出力
}
}
$simpleclass = new SimpleClass;
$simpleclass->displayVar();
$this->var
はクラス内で宣言しているプロパティ値'property value'である。
$var
はメソッド内で宣言している変数値'local valur'である。
$GLOBALS['var']
はクラス外で宣言している変数値'global value'である。
以上より、疑似変数 $this
は自身のクラス内で宣言しているプロパティ値を参照するものであることがわかる。
参考文献
PHPマニュアル
PHPのthisと->の意味がわかりません。teratail【テラテイル】|ITエンジニア特化型Q&Aサイト