こんにちは、この出力方法は[showpath]私はトピックcontrollers.Iに初めてlaravelを勉強
まずミドルウェア、 第二ミドルウェア、 を取得する必要があります[UserControllerで\ FirstProject \のHttp \コントローラ]に存在しません。 URI:UserControllerで/パス、 URL:http://localhost:8000/usercontroller/path、 方法:
UserControler.php
:マイ以下のコードであるGET 210
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' => '[email protected]'
]);
しかし、イムはhttp://localhost:8000/usercontroller/path
を実行している私は BadMethodCallException 方法は、[showPath]上に存在しないばかりM [FirstProject \のHttp \コントローラ\ UserControllerで]。
何が問題ですか?
はい
'[email protected]'
を使用しますが、それはコントローラUserControllerでの作成に語ったが、それはそれはすでに存在して来たチュートリアルのように私は別のコントローラ名を作成しなければならなかった理由は、THTです。 –他のヘルプ? –
コントローラ名を変更したときは、 'web.php'ファイルのコントローラ名も変更する必要があります。このファイルを参照すると、 'UserController'の既存の' showPath'メソッドが参照されなくなり、エラーが発生します。 –