あらすじ
お世話になります。
現在勉強のためにプログラムを自主作成中です。
API的な処理をするPHPファイルにて、
グローバル変数に$_POSTのデータを定義していたのですが、
これはオブジェクト指向的に良くないと指摘され、変数定義の箇所を書き直しているところです。
状況
グローバル変数にて定義していた変数を、
コンストラクタで定義するようにお引越しさせていたところで疑問に思ったのですが、
PHP
1$id = $_POST['id']; 2$pw = $_POST['pw'];
としていた所をプロパティにする場合、そのままコピペしたら
class ○○{ public function __construct(){ $id = $_POST['id']; $pw = $_POST['pw']; } }
となり、これでも動作に支障はないように思えるのですが、ここでクラスには$this->
という概念があることを思い出しました。
上記のコードで支障がなければ今後全てのプロパティを定義・参照する際に$this->
を付加するのは手間ですよね。
つまり、下記のような記述です。
PHP
1class ○○{ 2 public function __construct(){ 3 $this->$id = $_POST['id']; 4 $this->$pw = $_POST['pw']; 5 } 6}
質問内容
「全てのプロパティは定義・参照する際に$this->
を付けるべきなのか」
というところになります。
差し支えなければ、簡単に理由も添えていただけると理解が深まるので嬉しいです。
回答3件
あなたの回答
tips
プレビュー