【发布时间】:2018-06-04 22:00:51
【问题描述】:
你好,我是第一次在主题控制器上学习 laravel。我需要得到这个输出
第一个中间件, 第二个中间件, URI:用户控制器/路径, 网址:http://localhost:8000/usercontroller/path, 方法:获取
我的以下代码是:
UserControler.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);
}
}
SecondMiddleware.php
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);
}
}
SecondUserController.php
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;
}
}
路由/web.php
Route::get('/usercontroller/path',[
'middleware' => 'First',
'uses' => 'UserController@showPath'
]);
但是当我运行http://localhost:8000/usercontroller/path
我得到 坏方法调用异常 [FirstProject\Http\Controllers\UserController] 上不存在方法 [showPath]。
有什么问题?
【问题讨论】:
标签: laravel laravel-5 laravel-routing controllers laravel-middleware