わかりましたので、これはかなりばかげた質問のように思えますが、PHP は私がこれを行うことができない、または私の IDE ではないと言っています...
以下の例では、メソッドのデフォルト値として $this->somevar を使用できないことを示しています。
つまり...
class something {
public somevar = 'someval';
private function somefunc($default = $this->somevar) {
}
}
あなたのIDEは正しいと思います。これは、「デフォルト値は、(たとえば) 変数、クラス メンバー、または関数呼び出しではなく、定数式でなければならない」ためです。—関数の引数
次のようにする必要があります。
class something {
public $somevar = 'someval';
private function somefunc($default = null) {
if ($default === null) {
$default = $this->somevar;
}
}
}
これは、三項演算子を使用して記述することもできます。
$default = $default ?: $this->somevar;
「[関数の引数の] デフォルト値は、(たとえば) 変数、クラス メンバー、または関数呼び出しではなく、定数式でなければなりません。」