以下のコードは、Laravelによるフィードバックメッセージの送信方法です。値がhtmlのフィールド名である変数を作成したいと思います。しかし、$email_fieldName
はMail::send ...
/Laravel:ファサード内の変数へのアクセス
public function sendFeedback(Request $request) {
$email_fieldName = 'email';
// ...
if ($request ->isMethod('post')) {
// ...
$inputedData = $request->all();
// $email_fieldName is accessible here
$result = Mail::send('email', ['inputedData' => $inputedData], function($message) use ($inputedData) {
// $email_fieldName is not accessible here
$message->from($inputedData[$email_fieldName], $inputedData[$name_fieldName]);
// ...
});
}
}
をaccessibleinsideされていない私は、シミュレーションフィドルの下にしようと、それが動作します。上記のコードでの可変アクセスに何が問題なのですか?
$nameKey = "name";
$testBool = true;
if ($testBool) {
$array= array("name"=>"Alex", "age"=>22, "student" => true);
echo($array[$nameKey]);
}
クロージャが何であるか知っていますか? – Mjh
匿名関数のクラスだと思います。 –
クロージャ=匿名関数。匿名関数で異なるスコープの変数を使用する場合は、 'use'キーワードを使用して変数を指定する必要があります。あなたは '$ inputedData'でそれをしましたが、あなたが使っている変数の残りの部分ではそうではありませんでした。 – Mjh