Класс запроса на проверку не найден в Laravel

#laravel #laravel-5

#laravel #laravel-5

Вопрос:

Я получаю сообщение об ошибке Класс App Http Requests PostStore не найден

Мой код Contoller

 namespace AppHttpControllers;
use AppHttpRequests;
use IlluminateHttpRequest;
use AppHttpRequestsPostStore;
class PostController extends Controller
{

 public function store(PostStore $request)
{
    //
    return redirect()->back();
}
}
  

и код запроса выглядит как

 namespace AppHttpRequests;

use IlluminateFoundationHttpFormRequest;

class PostStore extends FormRequest
{
/**
 * Determine if the user is authorized to make this request.
 *
 * @return bool
 */
public function authorize()
{
    return true;
}

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        //
        'title' => 'min:20|max:200|required|string',
        'content' => 'min:20|max:400|required'
    ]
}
public function messages()
{
    return [
    'title.required' => ' :attribute is required',
    'content.required' => ' :attribute is required'
    ]
}
}
  

Я использовал

дамп композитора-автозагрузка

Кэш PHP artisan: очистить,

композитор очищает кэш,

Но у меня это не работает Спасибо за вашу помощь

Комментарии:

1. каково имя файла этого класса запроса?

2. PostStore.php с помощью php artisan make:запросить PostStore

3. Вы намеренно пропускаете точки с запятой в конце ваших возвратов? Вместо того, чтобы иметь, return [ ... ] вы бы имели return [ ... ]; .

4. да, я так думаю, это не на международном уровне, но локально моей рукой доза не разрешена, если вы ответите, я дам вам балл, спасибо

Ответ №1:

Похоже, что вы пропустили несколько точек с запятой в конце ваших инструкций return, в результате чего класс становится неузнаваемым!

Это решит вашу проблему:

 public function rules()
{
    return [
        //
        'title' => 'min:20|max:200|required|string',
        'content' => 'min:20|max:400|required'
    ]; // <- ADDED SEMICOLON
}

public function messages()
{
    return [
    'title.required' => ' :attribute is required',
    'content.required' => ' :attribute is required'
    ]; // <- ADDED SEMICOLON
}