Bird
Raised Fist0
Laravelframework~20 mins

First Laravel application - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Laravel Beginner Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
1:30remaining
What does this route return?
Consider this Laravel route defined in routes/web.php. What will the browser display when you visit /hello?
Laravel
<?php

use Illuminate\Support\Facades\Route;

Route::get('/hello', function () {
    return 'Hello, Laravel!';
});
AThe text 'Hello, Laravel!'
BA blank page
CA JSON object with key 'message' and value 'Hello, Laravel!'
DA 404 Not Found error
Attempts:
2 left
💡 Hint
Look at what the route's closure returns directly.
📝 Syntax
intermediate
1:30remaining
Identify the syntax error in this controller method
Look at this Laravel controller method. Which option correctly identifies the syntax error?
Laravel
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class WelcomeController extends Controller
{
    public function index()
    {
        return view('welcome');
    }
}
AWrong namespace declaration
BMissing parentheses in method declaration
CIncorrect use statement for Request
DMissing semicolon after return statement
Attempts:
2 left
💡 Hint
Check the end of the return statement line.
❓ state_output
advanced
2:00remaining
What is the output of this Blade template?
Given this Blade template resources/views/greeting.blade.php, what will be rendered in the browser?
Laravel
@php
    $name = 'Alice';
@endphp

<h1>Hello, {{ $name }}!</h1>
@if(strlen($name) > 3)
    <p>Welcome to Laravel.</p>
@endif
A<h1>Hello, {{ $name }}!</h1><p>Welcome to Laravel.</p>
B<h1>Hello, Alice!</h1>
C<h1>Hello, Alice!</h1><p>Welcome to Laravel.</p>
DSyntax error in Blade template
Attempts:
2 left
💡 Hint
Check how Blade outputs variables and evaluates conditions.
🔧 Debug
advanced
2:00remaining
Why does this route cause a 500 error?
This route causes a server error when accessed. What is the cause?
Laravel
<?php

use Illuminate\Support\Facades\Route;

Route::get('/user/{id}', function ($id) {
    $user = User::find($id);
    return view('user.profile', ['user' => $user]);
});
AThe view file 'user.profile' does not exist
BThe User model is not imported or defined
CThe route URL is missing a trailing slash
DThe route method should be post, not get
Attempts:
2 left
💡 Hint
Check if all classes used are properly imported.
🧠 Conceptual
expert
1:30remaining
What happens when you run this Artisan command?
You run php artisan make:controller ProductController --resource. What does this command do?
ACreates a controller with methods for all RESTful actions
BCreates a controller with only an index method
CCreates a model named ProductController
DDeletes the existing ProductController if it exists
Attempts:
2 left
💡 Hint
Think about what the --resource flag means in Laravel controllers.

Practice

(1/5)
1. What is the main purpose of the routes/web.php file in a new Laravel application?
easy
A. To configure server settings for deployment
B. To store database connection settings
C. To write CSS styles for the application
D. To define the URLs and what they should return when visited

Solution

  1. Step 1: Understand the role of routes in Laravel

    Routes tell Laravel which URL should show which content or run which code.
  2. Step 2: Identify what routes/web.php does

    This file is where you write those URL rules for web pages.
  3. Final Answer:

    To define the URLs and what they should return when visited -> Option D
  4. Quick Check:

    Routes = URL rules [OK]
Hint: Routes file maps URLs to responses [OK]
Common Mistakes:
  • Confusing routes with database settings
  • Thinking routes handle CSS or server configs
  • Assuming routes are for backend logic only
2. Which command starts the built-in Laravel development server?
easy
A. php artisan serve
B. php serve artisan
C. php artisan start
D. php start artisan

Solution

  1. Step 1: Recall the Laravel command to run the server

    The correct command is php artisan serve to start the local server.
  2. Step 2: Check the options for correct syntax

    Only php artisan serve matches the exact command syntax.
  3. Final Answer:

    php artisan serve -> Option A
  4. Quick Check:

    Start server = php artisan serve [OK]
Hint: Remember: 'serve' runs the server in Laravel [OK]
Common Mistakes:
  • Swapping command order
  • Using 'start' instead of 'serve'
  • Adding extra words in the command
3. Given this route in routes/web.php:
Route::get('/', function () {
    return 'Hello, Laravel!';
});
What will you see when you visit http://localhost:8000/ in your browser?
medium
A. A blank page
B. An error message
C. The text 'Hello, Laravel!'
D. A JSON object

Solution

  1. Step 1: Understand the route definition

    The route listens for a GET request at '/' and returns the string 'Hello, Laravel!'.
  2. Step 2: Predict the browser output

    Visiting the root URL will display exactly the returned string as plain text.
  3. Final Answer:

    The text 'Hello, Laravel!' -> Option C
  4. Quick Check:

    Route returns string = 'Hello, Laravel!' [OK]
Hint: Route returns string shown in browser [OK]
Common Mistakes:
  • Expecting JSON or HTML page instead of plain text
  • Thinking it shows an error or blank page
  • Confusing route URL with different path
4. What is wrong with this route code in routes/web.php?
Route::get('/', function {
    return 'Welcome!';
});
medium
A. Missing semicolon after return statement
B. Missing parentheses after function keyword
C. Route method should be post, not get
D. The string should be in double quotes

Solution

  1. Step 1: Check the function syntax

    Anonymous functions in PHP require parentheses even if no parameters are passed.
  2. Step 2: Identify the syntax error

    The code misses parentheses after function, causing a syntax error.
  3. Final Answer:

    Missing parentheses after function keyword -> Option B
  4. Quick Check:

    Anonymous function needs () [OK]
Hint: Always add () after function for anonymous functions [OK]
Common Mistakes:
  • Forgetting parentheses after function
  • Thinking semicolon is missing after return
  • Confusing HTTP methods get/post
  • Believing string quotes cause error
5. You want to create a new Laravel route that returns the current year dynamically. Which code snippet correctly does this in routes/web.php?
hard
A. Route::get('/year', function () { return date('Y'); });
B. Route::get('/year', function () { echo "date('Y')"; });
C. Route::get('/year', function () { return "Year is date('Y')"; });
D. Route::get('/year', function () { return date(d); });

Solution

  1. Step 1: Use PHP date function correctly

    The date('Y') function returns the current year as a string.
  2. Step 2: Return the year string properly in the route

    Using return date('Y'); inside the route's closure sends the year as response.
  3. Step 3: Identify errors in other options

    The echo option outputs literal "date('Y')"; another returns literal "Year is date('Y')"; the last uses date(d) without quotes, returning the day of the month instead of the year.
  4. Final Answer:

    Route::get('/year', function () { return date('Y'); }); -> Option A
  5. Quick Check:

    Return date('Y') for current year [OK]
Hint: Use return with date('Y') inside route function [OK]
Common Mistakes:
  • Using echo instead of return in route
  • Forgetting quotes around 'Y' in date()
  • Returning a string that does not evaluate PHP
  • Confusing syntax for PHP date function
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard