Когда я использую проверку запроса в методе контроллера, эта ошибка возвращается:
ReflectionException в строке Container.php 776: гость класса не существует
Мой файл запроса следующий:
<?php namespace App\Http\Requests;
use App\Http\Requests\Request;
class LoginFormRequest extends Request {
public function authorize()
{
return true;
}
public function rules()
{
switch($this->method())
{
case 'GET':
case 'DELETE':
{
return [];
}
case 'POST':
{
return [
"name" => "required|alpha_num|min:3",
"email" => "required|email",
"password" => "required|min:6|confirm",
"password_confirmation" => "required",
"gender" => "required",
"birthday" => "required",
];
}
case 'PUT':
case 'PATCH':
{
return [
];
}
default:
return [];
break;
}
}
}
И мой контроллер следующий:
<?php namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\LoginFormRequest;
use Request;
use App\Models\AppUser as AppUser;
class LoginController extends Controller {
protected $pass_key = "some_key";
public function check()
{
...
}
public function store(LoginFormRequest $request)
{
$data = Request::all();
$data['password'] = md5($this->pass_key.$data['password']);
$app_user = AppUser::create($data);
return response()->json([
'success' => true,
'message' => 'Bem vindo(a)!',
'app_user' => $app_user
]);
}
}
Мой запрос на хранить метод вызывается по маршруту API / регистр.
$router->group(['middleware' => 'Api'], function() {
Route::post('api/login', ['as' => 'api.login', 'uses' => 'Api\LoginController@check']);
Route::post('api/register', ['as' => 'api.register', 'uses' => 'Api\LoginController@store']);
});
Когда я удаляю индексы массива в правилах POST, ошибка не отображается.
Кто-то может мне помочь?
В вашем файле запроса
use Illuminate\Http\Request
потому что твой класс LoginFormRequest расширяет Request в Laravel. Вы должны быть.
В вашем контроллере
$data = LoginFormRequest::all();
Других решений пока нет …