【Laravel6でエラーが出た】BadMethodCallExeption: Method Illuminate¥Routing¥Rout::get does not exist.
【Laravel6でエラーが出た】BadMethodCallExeption: Method Illuminate¥Routing¥Rout::get does not exist.
使用環境
- windows 10 Home(COREi7)
- XAMPP 7.3.18
- Laravel 6
背景
Laravel5.7入門の動画に沿ってLaravel6の学習をしていた。
しかしながら、ところどころ違うところも出てきており、極力、ファイルをいじらずに進め、php artisan serveをしようとしたところエラーが発生。
routesディレクトリ中のweb.phpを見てみると、以下のようになっていた。
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
use App\Http\Controllers\TaskController;
use Illuminate\Routing\Route;
Route::get('/', function () {
return redirect('/tasks');
});
Route::get('/tasks', 'TaskController@index');
Route::post('/tasks', 'TaskController@store');
Route::delete('/tasks/{task}', 'TaskController@destroy');
- 解決案1
エラー文そのまま検索してみるとちょうど同じ状況に陥った人の記事を発見できた。
https://qiita.com/tatuki81/items/6384f21382c17200de0d
早速、同じことをしてみる。
use App\Http\Controllers\TaskController;
use vendor\laravel\framework\src\Illuminate\Routing;
しかし、エラーは解決できず...
- 解決案2
- 違う記事を見つけたので同じことを試してみる https://teratail.com/questions/257584
まずは以下のように。
use App\Http\Controllers\TaskController;
use Illuminate\Support\Facades\Route;
すると、php artisan serve
できた。
内容を見てみると同じRoute.phpというファイル名でも中身は全然違う。
Illuminate\Support\Facades内のRoute.phpは以下のような内容。
<?php
namespace Illuminate\Support\Facades;
/**
* @method static \Illuminate\Routing\Route fallback(\Closure|array|string|callable|null $action = null)
* @method static \Illuminate\Routing\Route get(string $uri, \Closure|array|string|callable|null $action = null)
* @method static \Illuminate\Routing\Route post(string $uri, \Closure|array|string|callable|null $action = null)
* @method static \Illuminate\Routing\Route put(string $uri, \Closure|array|string|callable|null $action = null)
* @method static \Illuminate\Routing\Route delete(string $uri, \Closure|array|string|callable|null $action = null)
わかったこと
原因は指定したファイルにメソッド(getとか使えるように書いてある)が入っていないよ!ということだったらしい。
メソッドが入っているIlluminate\Support\Facades内のRoute.phpを使うよという風にしたことでエラーが解除されたみたい。
Author And Source
この問題について(【Laravel6でエラーが出た】BadMethodCallExeption: Method Illuminate¥Routing¥Rout::get does not exist.), 我々は、より多くの情報をここで見つけました https://qiita.com/N0S0/items/1d54812d0afb3ce6694c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .