PHPで$thisの意味がよくわかりません。
クラスの基礎とか見てみれば良いと思います。
メソッドがオブジェクトのコンテキストからコールされる場合は、** 疑似変数 $this が利用可能です。 $this は、呼び出し元オブジェクトへのリファレンスです。 **
というところ。
本には「レシーバーと呼ばれるインスタンスが入っている」と書いてありましたが
その本の前後を読み飛ばしてたりしませんか。
本来は下記みたいなクラスが定義してあって
そのクラスの中にプロパティとかメソッドがあったりするのでは?
php
1<?php
2class Receivers{
3 private $name="";
4 function __construct(string $n){
5 $this->name = $n;
6 }
7 function setNameKana():string{
8 return mb_convert_kana($this->name,'h');
9 }
10 function getName():string{
11 return $this->name.$this->setNameKana();
12 }
13}
14$r = new Receivers("ふが");
15echo $r->getName();
16
もしくは「オブジェクト指向としてのレシーバー」でしょうか
こういうのとかこういうの
あるオブジェクトに対して、メソッドを実行しようとした場合、そのメソッドの働きかけるオブジェクトのことをレシーバという。以下のコードの場合だと、配列部分がレシーバとなる。
レシーバーは特に Ruby の用語というわけではなく、オブジェクト指向一般に使われる用語です。
意味は「 . の左側」で間違いありません。
ただ「$thisの説明」としては違うんじゃないかな。
私のコード例だと$rが「レシーバ」と言える。
PHPとしては「$this」は「(親クラス含めた)自身」と覚えたほうがしっくりきます。
その説明がある前に何も前提がないままいきなり「レシーバーと呼ばれるインスタンスが入っている」と書いてあったのでしたら「説明が不親切すぎる」と言えます。
可能なら出版社名と書籍名を記載してください。
PHPを学ぶ全ての人が同じ書籍を利用するとは限りませんし、
もし万が一間違っていることが書いてあるなら問い合わせる必要があります。
「自分でも調べてみる」ということは必要です。特にPHPマニュアルは必携(開発のお供と言う意)です。
せめて過去質問あたるぐらいはしてほしい。
[$this tag:PHP] の検索結果: 4683件 :これだけあればどこかに自身の疑問に合致した答えは見つかるはず
それに質問者さんのような段階の方で出てきた疑問が、今更世界で初めて出てくる議題なわけがないです。