Laravel: маршрутизация и контроллер

Я новичок в использовании этого фреймворка 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

Вот мой маршрут php artisan: список Laravel: маршрутизация и контроллер

localhost: 8000 / admin / post / create это почтовый запрос? не так ли?

Salman Zafar 23.07.2018 04:27

Я пытаюсь следовать этому руководству, но похоже, что он не работает. Я дважды проверил свой код, но не вижу никаких недостатков. @Salman Zafar youtube.com/…

Rae Ian 23.07.2018 04:28

Можете ли вы также опубликовать код своего файла лезвия

Salman Zafar 23.07.2018 04:31

localhost: 8000 / admin / post / create, когда вы нажимаете эту ссылку. Браузер должен перенаправить меня на post.blade.php, потому что я уже указал в своем коде в PostController.php «return view ('admin.post.post');»

Rae Ian 23.07.2018 04:31

php artisan route: список опубликуйте результат в вашем вопросе

Salman Zafar 23.07.2018 04:33

Я обновил свой пост. Включен список маршрутов и коды для post.blade.php

Rae Ian 23.07.2018 04:35

в вашем файле лезвия после этого <form role = "form"> добавьте эту строку @csrf и попробуйте снова

Salman Zafar 23.07.2018 04:46

привет, поместите Route :: get ('posts / create', function () {return view ('admin.post.post');}); над строкой route: resource и перейдите на localhost: 8000 / posts / create и расскажите нам, что происходит

ashish 23.07.2018 04:54

Поздний ответ, сэр, привет @ashish, работает !! благодарю вас! но в чем смысл этого кода, сэр? это тоже связано с моим файлом PostController.php?

Rae Ian 23.07.2018 04:59

Он не связан с вашим файлом почтового контроллера, я пытался проверить, доступно ли ваше представление или нет. похоже, на вашем маршруте возник конфликт: ресурс

ashish 23.07.2018 05:06

Я так думаю .. Но единственный код, добавленный в мой PostController, только это: return view ('admin.post.post'); внутри публичной функции create. Я все еще пытаюсь понять, почему route :: resource не работает

Rae Ian 23.07.2018 05:14

я думаю, вам следует попробовать и посмотреть, работает ли тот же код, если вы не используете admin в Route :: resource ('admin / post', 'Admin \ PostController'); увидеть, что это работает, когда вы вместо этого делаете администратора

ashish 23.07.2018 05:20

я тестировал этот codeRoute :: resource ('admin / post', 'Admin \ PostController'); но этот код не работает, поскольку он подключен к моему PostController. Но тот код, который вы мне дали, работает нормально.

Rae Ian 23.07.2018 05:25

Код, который я дал вам раньше, вообще не использует постконтроллер. Если вы хотите использовать PostController, вам нужно найти для этого день. Кстати, я проверил ваш код на своем компьютере, и он работает с моей стороны.

ashish 23.07.2018 05:28

Я хочу использовать постконтроллер. Если мой код работает на вашем компьютере, возможно, именно версия моего laravel является причиной того, почему здесь не работает? Потому что иногда я пытался запустить свой laravel, используя этот код. php artisan serve, но этот код не работает на моем компьютере, но я попробовал этот php -S localhost: 8000 -t public / он работает

Rae Ian 23.07.2018 05:35
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
15
162
1

Ответы 1

это потому, что на какое-то время композитор застрял, на этот раз вам следует прекратить обслуживание и повторно создать автозагрузку

1. остановите службу php artisan 2. введите эту команду

composer dumpautoload

3. запустите свой php artisan serve

Другие вопросы по теме