こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

lararvelについて

http://libro.tuyano.com/index3?id=5486003&page=3
を参考にlararvelをやっているのですが、情報が古いのかうまくいかなかったのでweb.phpに
Route::get('/hello', function () {
return '<html><body><h1>Hello World</h1><p>this is sample page.</p></body></html>';
});

と記載してやっとうまく表記できました。

所が今度は
Route::get('/helo', function () {
return view('/helo',['message' => 'Hello!']);
});
をweb.phpに記載してもうまくいきません。
5.5ではかわりにここに記載すれば良いのではないでしょうか?

投稿日時 - 2017-09-15 11:53:56

QNo.9374798

困ってます

質問者が選んだベストアンサー

view()で表示する場合、テンプレートを記述します。

return view( 'helo', ['message' => 'Hello!'] );// '/helo' ではなく 'helo'
と書くのであれば

resources/views/ 内に helo.blade.php を作成
helo.blade.php 以下のようにすると message が Hello に置き換わります。

<html>
<body>{{$message}}</body>

フレームワークはバージョンで記述が変わったりするのでまずは公式ドキュメントを参照してください。
https://laravel.com/docs/5.5/views
https://readouble.com/laravel/5.5/ja/views.html

投稿日時 - 2017-09-16 05:21:11

お礼

<!doctype html>
<html>
<head>
<title>Sample</title>
<style>
body { color:gray; }
h1 { font-size:18pt; font-weight:bold; }
</style>
</head>
<body>
<?php
$message = 'dai';
$array = ['dai' => 'debu', 'dai2' => 'debu22'];
echo($array['dai2']);
?>
<h1>Sample</h1>
<p><?php echo $message; ?></p>
</body>

<?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!
|
*/

Route::get('/', function () {
return view('welcome');
});

Route::get('/hello', function () {
return '<html><body><h1>Hello World</h1><p>this is sample page.</p></body></html>';
});

Route::get('helo', function () {
return view('helo',['message' => 'Hello!']);
});


ありがとうございます。上記のようにしたところうまくいったようです。
/を外すと確かにうまくいったのですが、なぜフレームワークは、相対パスではうまくいかないのでしょうか?

Route::get('/hello', function () {
return '<html><body><h1>Hello World</h1><p>this is sample page.</p></body></html>';
});
には/があるのにうまくいくことも混乱する原因です。

パスが通っているのでファイル名だけで実行できるのでしょうか?

どこをカレントディレクトリとして考えているのかも謎ですね。

また、5.5の説明サイトが見つからずに困っていたので、ありがとうございます。
意訳のようなので、若干日本語がおかしいですが、恐らく5.5の情報は、このようなサイトしかないのでしょうね。

http://ysktec.com/shiguregaki/blog/?p=1088
こちらは5.3移行という事で更新も2017年に行っているようなのでディレクトリ構成も5.5対応かと思ったのですが、こちらの情報も古くて使えないのですかね。

投稿日時 - 2017-09-16 10:11:41

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問