回答編集履歴
1
プロパティをクラス直下で宣言する場合について追記
answer
CHANGED
@@ -1,3 +1,17 @@
|
|
1
1
|
> 全てのプロパティは定義・参照する際に`$this->`を付けるべきなのか
|
2
2
|
|
3
|
-
は
|
3
|
+
コンストラクタで定義する場合や、メソッドから読み書きする場合は、そのとおりです。PHPではそう書かないと**ローカル変数**となってしまい、プロパティとして動作しません。
|
4
|
+
|
5
|
+
クラス直下に書く場合は、`$foo`だけでプロパティを意味します(なお、この場合定数式しか初期化に使えません)。
|
6
|
+
|
7
|
+
```php
|
8
|
+
class someClass {
|
9
|
+
// ここで宣言したものはプロパティになる
|
10
|
+
public $foo = 3;
|
11
|
+
|
12
|
+
public function __construct() {
|
13
|
+
// メソッド内からは$this経由が必要
|
14
|
+
$this->bar = date('Y');
|
15
|
+
}
|
16
|
+
}
|
17
|
+
```
|