Route.php第639行中的UnexpectedValueException:无效的路由操作:[App \ Http \ Controllers \ PortfolioController]

时间:2015-10-17 03:10:29

标签: php laravel

为什么我收到此错误。我创建了一个PortfolioController。然后我用这个

做了一个路线
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时出现此错误

8 个答案:

答案 0 :(得分:6)

从代码的外观来看,您似乎正在尝试设置implicit controller route。你很近,但你的路线定义有点偏差。您需要使用controller代替get

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

答案 1 :(得分:2)

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

  

以下功能在5.2中已弃用,将在2016年6月的5.3版本中删除:

     
      
  • 已弃用使用if(isset($_POST)){ header("Location: other_page.php"); save_name($_post['name']); //... more php functions to save data(including input file) } 的隐式控制器路由。请在路线文件中使用显式路线注册。这可能会被提取到一个包中。
  •   

您必须立即声明每个端点。

答案 2 :(得分:2)

尝试

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

答案 3 :(得分:1)

当他在web.php文件中出错时,我收到了类似的错误。

正确的路线是Route::get('portfolio','YourController@yourMethod');

答案 4 :(得分:1)

您必须使用控制器的功能,而不是将整个控制器类用于一个请求。所以laravel不知道你要使用哪个功能。

尝试使用PortfolioController@index。或Route::resource('yourroute','PortfolioController');

答案 5 :(得分:1)

尝试以下方法:Route :: resource('/ portfolio','PortfolioController'); 希望这会成功

答案 6 :(得分:0)

在路线中使用此代码:

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

答案 7 :(得分:0)

您需要解释Route的功能。 示例:

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

所以您应该这样做:

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

希望有帮助