5

I'm learning Laravel for the first time, just started today. Fresh Laravel install via Composer on LAMPP - Ubuntu. After I run sudo /opt/lampp lampp start in my terminal, I open Chrome and nav to localhost/MYAPP/resources/views/welcome.blade.php. This is the view that is rendered. The "@" statements (that I assume are specific to Laravel's controllers) are rendered to the screen in the browser and I cannot figure out why this is happening.

Any/all insight is appreciated!

EDIT: As requested here is my welcome.blade.php file:

<!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>

8
  • 1
    can you please update your code? We cannot fix if you don't post your code. Commented Feb 21, 2018 at 23:54
  • This is a new install, I've not added, changed or removed a single line of code. if there is a file you'd like to check I'd be happy to post it. but i wouldnt have a clue which one is causing this issue. Commented Feb 22, 2018 at 1:09
  • I think you should post layouts/app.blade.php and home.blade.php Commented Feb 22, 2018 at 1:32
  • To use @auth, laravel requires version 5.5. @else is not valid when use @auth. You can use @guest ... @endguest instead. Commented Feb 22, 2018 at 1:35
  • @Yachi웃 I am not seeing those files nor the 'layout' directory anywhere in my project tree. Is it possible I either don't have Blade installed or it doesn't have execute permissions? Commented Feb 22, 2018 at 1:52

2 Answers 2

3

The @ in laravel blade view is injection of some php commends and shortcuts. For example:

@if(condition)
    some data
@else
    some data
@endif

Is the same as:

<?php if(condition){ ?>
    some data
<?php } else { ?>
    some data
<?php } ?>

You will find more here: https://laravel.com/docs/5.6/blade

When it comes to Laravel it is a basic so read it carefully.

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks for the info. Upon reading that I'm still clueless as to why those statements can be seen on the page. According to the documentation they should'nt be rendered (visually) at all, right?
it is a blade engine which want to make your view syntax more readable
0

After a week now of double checking my PATH and versions for everything, I've figured out that I simply needed to navigate to the directory where my application is stored and run the command php artisan serve.

Major props to user Yachi 웃 for his attentive help.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.