0
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?

More than 1 year has passed since last update.

PHPのクラスについて

Last updated at Posted at 2023-01-02

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サイト

0
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
0
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?