Я новичок в использовании этого фреймворка laravel. В настоящее время я пытаюсь понять маршрутизацию и контроллер этого фреймворка.
Я создал файл контроллера с помощью этой команды:
php artisan make:controller Admin/PostController
Конечно, результатом этого будет создание файла контроллера внутри папки администратора. Внутри PostController.php я написал такой код:
public function create()
{
return view('admin.post.post');
}
Кроме того, в моем web.php есть этот код.
Route::get('/', function () {
return view('user.blog');
});
Route::get('posts',function(){
return view('user.posts');
})->name('posts');
Route::resource('admin/post','Admin\PostController');
«Admin» - это папка, а «post» - это тоже папка внутри «admin», и когда вы откроете папку «post», вы увидите файл «post.blade.php». Два других маршрута: get в моем web.php работают нормально. Но маршрут: ресурс не работает.
Когда я попытался запустить это в своем браузере по этой ссылке:
localhost:8000/admin/post/create
Браузер говорит: Извините, страница, которую вы ищете, не может быть найдена
Есть ли проблемы с синтаксисом или структурами путей?
Вот мой пост .blade.php
@extends('admin.layouts.app')
@section('main-content')
this is just html codes..
@endsection
Я пытаюсь следовать этому руководству, но похоже, что он не работает. Я дважды проверил свой код, но не вижу никаких недостатков. @Salman Zafar youtube.com/…
Можете ли вы также опубликовать код своего файла лезвия
localhost: 8000 / admin / post / create, когда вы нажимаете эту ссылку. Браузер должен перенаправить меня на post.blade.php, потому что я уже указал в своем коде в PostController.php «return view ('admin.post.post');»
php artisan route: список опубликуйте результат в вашем вопросе
Я обновил свой пост. Включен список маршрутов и коды для post.blade.php
в вашем файле лезвия после этого <form role = "form"> добавьте эту строку @csrf и попробуйте снова
привет, поместите Route :: get ('posts / create', function () {return view ('admin.post.post');}); над строкой route: resource и перейдите на localhost: 8000 / posts / create и расскажите нам, что происходит
Поздний ответ, сэр, привет @ashish, работает !! благодарю вас! но в чем смысл этого кода, сэр? это тоже связано с моим файлом PostController.php?
Он не связан с вашим файлом почтового контроллера, я пытался проверить, доступно ли ваше представление или нет. похоже, на вашем маршруте возник конфликт: ресурс
Я так думаю .. Но единственный код, добавленный в мой PostController, только это: return view ('admin.post.post'); внутри публичной функции create. Я все еще пытаюсь понять, почему route :: resource не работает
я думаю, вам следует попробовать и посмотреть, работает ли тот же код, если вы не используете admin в Route :: resource ('admin / post', 'Admin \ PostController'); увидеть, что это работает, когда вы вместо этого делаете администратора
я тестировал этот codeRoute :: resource ('admin / post', 'Admin \ PostController'); но этот код не работает, поскольку он подключен к моему PostController. Но тот код, который вы мне дали, работает нормально.
Код, который я дал вам раньше, вообще не использует постконтроллер. Если вы хотите использовать PostController, вам нужно найти для этого день. Кстати, я проверил ваш код на своем компьютере, и он работает с моей стороны.
Я хочу использовать постконтроллер. Если мой код работает на вашем компьютере, возможно, именно версия моего laravel является причиной того, почему здесь не работает? Потому что иногда я пытался запустить свой laravel, используя этот код. php artisan serve, но этот код не работает на моем компьютере, но я попробовал этот php -S localhost: 8000 -t public / он работает






это потому, что на какое-то время композитор застрял, на этот раз вам следует прекратить обслуживание и повторно создать автозагрузку
1. остановите службу php artisan 2. введите эту команду
composer dumpautoload
3. запустите свой php artisan serve
localhost: 8000 / admin / post / create это почтовый запрос? не так ли?