Laravel 方法[showpath]在[FirstProject\Http\Controllers\UserController]上不存在

Laravel 方法[showpath]在[FirstProject\Http\Controllers\UserController]上不存在,laravel,laravel-5,laravel-routing,controllers,laravel-middleware,Laravel,Laravel 5,Laravel Routing,Controllers,Laravel Middleware,您好,我第一次学习laravel的主题控制器。我需要得到这个输出 第一,, 第二,, URI:usercontroller/path, 网址:, 方法:获取 我的以下代码是: usercontroller.php namespace FirstProject\Http\Controllers; use Illuminate\Http\Request; use FirstProject\Http\Requests; use FirstProject\Http\Controllers\Contro

您好,我第一次学习laravel的主题控制器。我需要得到这个输出

第一,, 第二,, URI:usercontroller/path, 网址:, 方法:获取

我的以下代码是:

usercontroller.php

namespace FirstProject\Http\Controllers;

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

class UserController extends Controller
{
    public function _construct(){
        $this->middleware('auth');
    }    
}
FirstMiddleware.php

namespace FirstProject\Http\Middleware;

use Closure;

class FirstMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        echo "<br>First Middleware";
        return $next($request);
    }
}
namespace FirstProject\Http\Middleware;

use Closure;

class SecondMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        echo "<br>Second Middleware";
        return $next($request);
    }
}
但是当我跑步的时候

我越来越 BadMethodCallException 方法[showPath]在[FirstProject\Http\Controllers\UserController]上不存在


有什么问题吗?很明显,不是吗?此方法在
SecondUserController
中定义,但不在
UserController
和您使用的路由中定义UserController@showPath“

是的,但在教程中,它被告知要创建控制器UserController,但它已经存在了,这就是为什么我必须创建不同的控制器名称。还有其他帮助吗?因此,当您更改控制器名称时,您还应该在
web.php
文件中更改控制器名称。现在,您在该文件中引用了
UserController
中不存在的
showPath
方法,这就是您得到错误的原因。
namespace FirstProject\Http\Controllers;

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

class SecondUserController extends Controller
{
    public function __construct(){
      $this->middleware('Second');
   }
   public function showPath(Request $request){
      $uri = $request->path();
      echo '<br>URI: '.$uri;

      $url = $request->url();
      echo '<br>';

      echo 'URL: '.$url;
      $method = $request->method();
      echo '<br>';

      echo 'Method: '.$method;
   }
}
Route::get('/usercontroller/path',[
   'middleware' => 'First',
   'uses' => 'UserController@showPath'
]);