Неожиданное исключение valueexception в маршруте.php строка 639: недопустимое действие маршрута: [App\Http\Controllers\PortfolioController]


Неожиданное исключение valueexception в маршруте.php строка 639: недопустимое действие маршрута: [App\Http\Controllers\PortfolioController]

17.10.2015 06:10:28 Просмотров 68 Источник

Почему я получаю эту ошибку. Я создал портфолио-контролера. Затем я сделал маршрут, используя это

Route::get('portfolio','PortfolioController');  

Поэтому на своей странице контроллера я сделал это.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class PortfolioController extends Controller
{
  //This only gets exectued when we request /portfolio/Paintings using GET
    public function getPaintings()
    {
      return 'This RESTful controller is working!';
    }
}

Я получаю эту ошибку при вводе в localhost / portfolio / paintings

У вопроса есть решение - Посмотреть?

Ответы - Неожиданное исключение valueexception в маршруте.php строка 639: недопустимое действие маршрута: [App\Http\Controllers\PortfolioController] / UnexpectedValueException in Route.php line 639: Invalid route action: [App\Http\Controllers\PortfolioController]

patricus

17.10.2015 09:07:23

Судя по вашему коду, вы пытаетесь настроить неявный маршрут контроллера . Вы близки, но ваше определение маршрута немного сбилось. Вам нужно использовать controllerвместо get:

Route::controller('portfolio','PortfolioController');
https://stackoverflow.com/questions/33182331/unexpectedvalueexception-in-route-php-line-639-invalid-route-action-app-http/33183404#comment54189306_33183404
На самом деле я сейчас получаю: NotFoundHttpException в контроллере.php строка 269: метод контроллера не найден.
https://stackoverflow.com/questions/33182331/unexpectedvalueexception-in-route-php-line-639-invalid-route-action-app-http/33183404#comment54189434_33183404
Я нашел решение этой проблемы. Мне просто нужно было установить laravelcollective / html через composer, перейдя в командную строку и введя "composer require laravelcollective / html"
Tiago Gouvêa

27.10.2016 08:49:53

https://laravel.com/docs/5.3/upgrade#upgrade-5.3.0

Следующие функции устарели в версии 5.2 и будут удалены в выпуске 5.3 в июне 2016 года:

  • Неявные маршруты контроллера с использованием Route::controllerбыли признаны устаревшими. Пожалуйста, используйте явную регистрацию маршрута в файле маршрутов. Это, вероятно, будет извлечено в пакет.

Теперь необходимо объявить каждую конечную точку.

Alan-Wen

26.08.2017 12:21:11

Я получил аналогичную ошибку, когда была ошибка в файле web.РНР.

Правильный маршрут хотел бы этот Route::get('portfolio','YourController@yourMethod');

Edward

23.02.2018 06:15:10

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

Попробуйте использовать PortfolioController@index. или Route::resource('yourroute','PortfolioController');

https://stackoverflow.com/questions/33182331/unexpectedvalueexception-in-route-php-line-639-invalid-route-action-app-http/48950944#comment95042066_48950944
Поскольку функция этого контроллера - просто getPaintings, поэтому я думаю использовать PortofolioController@getPaintings
Aman Kumar

09.01.2019 08:21:54

Используйте этот код в маршрутах:

Route::resource('portfolio','YourController@yourMethod');
Ryuujo

09.01.2019 10:14:13

вы должны объяснить свою функцию на маршруте. пример:

Route::methods('your-uri','YourController@YourFunction');

так что вы должны сделать это:

Route::get('portfolio','PortfolioController@getPaintings');

Надеюсь, это поможет

Chandni Soni

04.02.2019 12:50:28

Попробуйте это: Route:: resource ('/portfolio', 'PortfolioController'); Надеюсь, это сработает.

kamran geE

27.01.2020 10:23:42

попробовать это

Маршрут:: get ('portfolio', 'PortfolioController@getPaintings')

Помочь в развитии проекта:
Закрыть X