実現したいこと
当方、Laravelの勉強をしており、参考書見ながら作業しているところですが、参考書の内容通りに行ってもページが表示せず、何が悪いのか全く分かりません。
Laravelのフォルダ内にある routes / web.php にRoutes情報を追加し、URLを入力するとページ表示するという最も簡単な新規ページ作成が上手くいきません。
発生している問題・分からないこと
参考書通りの手順とソースを入力するも404エラーで表示しません。
手順は以下のようにしています。
- 簡易サーバーはCtrl + cで止める。
- web.phpの変更をする。
- 再度php artisan serveで始動。
- ブラウザにlocalhost:8000/helloと入力して確認。
404エラー。
該当のソースコード
PHP
1// 元々あるもの → 表示する2Route::get('/', function () {3 return view('welcome');4});5 6Route::get('/users', [UserController::class, 'index'])->name('users.index');7 8//追加 → 404エラー9Route::get('hello', function(){10 return '<html><body><h1>Hello</h1><p>This is sample page.</p></body></html>';11});
試したこと・調べたこと
上記の詳細・結果
これだけ上手くいかなかったのかもと思い、少し先に進んで以下のようなやり方も試してみました。
変数受渡しで表示を試みる
// 変数にソースを入れる $html = <<<EOF <html> <head> <title>Hello</title> <style> body {font-size: 16px; color: #999;} h1 {font-size: 100pt; text-align: right; color: #333; margin: -40px 0 -50px 0;} </style> </head> <body> <h1>Hello</h1> <p>This is sample page.</p> <p>これは、サンプルで作ったページです。</p> </body> </html> EOF; Route::get('hello', function() use ($html){ return $html; });
↑404エラー
コントローラーで表示
// コントローラーを生成 php artisan make:controller HelloController
// HelloController内にindexアクション記述 public function index() { return <<<EOF <html> <head> <title>Hello</title> <style> body {font-size: 16px; color: #999;} h1 {font-size: 100pt; text-align: right; color: #333; margin: -40px 0 -50px 0;} </style> </head> <body> <h1>Hello</h1> <p>This is sample page.</p> <p>これは、サンプルで作ったページです。</p> </body> </html> EOF; }
Route::get('hello', 'HelloController@index');
↑404エラー
補足
localhost:8000 と localhost:8000/usersは表示します。
0 コメント