以下代碼是Laravel發送反饋消息的方法。我想創建這些值是html字段名稱的變量。但是,$email_fieldName
不accessibleinside的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]);
// ...
});
}
}
我試過下面模擬小提琴和它的作品。上面的代碼中的變量訪問有什麼問題?
$nameKey = "name";
$testBool = true;
if ($testBool) {
$array= array("name"=>"Alex", "age"=>22, "student" => true);
echo($array[$nameKey]);
}
你知道封口是什麼嗎? – Mjh
匿名函數的類,我想。 –
Closure =匿名函數。當你想在匿名函數中使用不同範圍的變量時,你必須使用'use'關鍵字來指定它們。你用'$ inputedData'這麼做了,但是沒有用到其他的變量 – Mjh