Reputation: 33
I've just started learning laravel from laracasts, but there's something wrong with the welcome.blade.php
page.
I have tried to start new projects, but the result hasn't changed. Somehow the browser sees the laravel code (@...) as html.
I realized this problem in this video - https://laracasts.com/series/laravel-from-scratch-2017/episodes/5 . When I try to echo out
<h1>Hello, <?php echo $name ?><h1>
and in the web.php page do exactly like Jeffrey says
Route::get('/', function() {
return view('Welcome', [
name=>'World'
]);
});
I still get undefined value error. Do I need to change something or is there a way to reinstall laravel?
Please see screenshot.
and this is the default page code for welcome.blade.php - I didn't touch anything.
<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
<!-- Styles -->
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Raleway', sans-serif;
font-weight: 100;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 12px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
<a href="{{ route('register') }}">Register</a>
@endauth
</div>
@endif
<div class="content">
<div class="title m-b-md">
Laravel
</div>
<div class="links">
<a href="https://laravel.com/docs">Documentation</a>
<a href="https://laracasts.com">Laracasts</a>
<a href="https://laravel-news.com">News</a>
<a href="https://forge.laravel.com">Forge</a>
<a href="https://github.com/laravel/laravel">GitHub</a>
</div>
</div>
</div>
</body>
</html>
Upvotes: 3
Views: 4233
Reputation: 734
Use blade syntax , double curly braces like so:
{{ $name }}
Also remove double semi-colon from your return statement.
Upvotes: 1
Reputation:
Judging from the screenshot, the URL indicates that these pages are not being served by an HTTP server. Make sure you are serving all php source from an HTTP server. You could use Laravel's simple server by running:
php artisan serve
You'll be able to access your work, hopefully on http://localhost:8000
.
May I also draw your attention to your welcome route definition. Given your file is welcome.blade.php
. I believe it should look like so:
Route::get('/', function() {
return view('welcome', [
'name' => 'World'
]);
});
Upvotes: 1