🧐

$this->{'g-recaptcha-response'} これなにやってんねん

2021/01/31に公開

未知との遭遇

laravelで、noCAPTHAを使って、
reCAPTCHA v3を導入しようといろいろ調べていると、
それはやってきた。。。

こいつだ! [1]

$this->{'g-recaptcha-response'}

これはなにをやっているのか。

ハイフン付きのプロパティを取得しています。

オブジェクト名にハイフン等の記号が含まれていると通常の指定方法ではエラーが発生してしまいます。
その場合は中括弧「{}」とクォーテーションで指定することが出来ます。
[2]

上記の例だと、

$this->g-recaptcha-response //これだとERROR
$this->{'g-recaptcha-response'} //中括弧とクォーテーションで囲んでやるとOK

ということらしいです。

POSTの属性名にハイフンを使っているとき、
$requestから属性をしていして取得するときに使いそうです。

脚注
  1. 参照: https://gn-office.pro/archives/425 ↩︎

  2. 参照: https://pg.kdtk.net/1606 ↩︎

Discussion