为什么我收到此错误。我创建了一个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时出现此错误
答案 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');
希望有帮助