Laravel 'Неопределенная переменная:' в пользовательском контроллере - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу отправить благодарственное письмо, когда пользователи зарегистрируют наш сервис. Но этот код является ошибкой Undefined variable: fhbvuileb в $message->to($fhbvuileb). Помоги мне !!!

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Mail;

class RegisterController extends Controller
{

  /** ~~~ **/

  protected function create(array $data)
  {

    $fhbvuileb = $data['email'];
    Mail::send('emails.user_register', ["message" => "Hello!"], function($message) {
      $message->to($fhbvuileb)
              ->subject("Thank you!!!");
    });
    return User::create([
      'name' => $data['name'],
      'email' => $data['email'],
      'password' => Hash::make($data['password']),
    ]);

  }
}

Ответы [ 3 ]

2 голосов
/ 24 февраля 2020

Вам необходимо использовать переменную внутри функции обратного вызова Mail. То, что вы написали, называется Closure, и, следовательно, переменная недоступна в области действия функции закрытия.

В PHP есть ключевое слово use, которое делает это $fhbvuileb внутри функции.

$fhbvuileb = $data['email'];
    Mail::send('emails.user_register', ["message" => "Hello!"], function($message) use($fhbvuileb) {
      $message->to($fhbvuileb)
              ->subject("Thank you!!!");
    });
0 голосов
/ 24 февраля 2020

используйте use $fhbvuileb внутри функции.

Mail::send('emails.user_register', ["message" => "Hello!"], function($message) use($fhbvuileb) {
      $message->to($fhbvuileb)
              ->subject("Thank you!!!");
    });
0 голосов
/ 24 февраля 2020

Вы забыли использовать языковую конструкцию use() для передачи любого аргумента из родительской области

   Try this:
    Mail::send('emails.user_register', ["message" => "Hello!"], function($message) use($fhbvuileb) {
              $message->to($fhbvuileb)
                      ->subject("Thank you!!!");
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...