Bird
Raised Fist0
Laravelframework~3 mins

Why Basic route definition in Laravel? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

Discover how a single line of code can replace messy URL checks and make your website smarter!

The Scenario

Imagine building a website where you manually check the URL in every PHP file to decide what content to show.

You write lots of if-else statements to handle each page, like home, about, contact, all mixed in one file.

The Problem

This manual way is confusing and slow to update.

Every time you add a new page, you must edit many files and risk breaking existing links.

It's hard to keep track of which URL shows what content, and errors happen easily.

The Solution

Laravel's basic route definition lets you map URLs to actions clearly and simply.

You write one line per route, and Laravel handles the rest.

This keeps your code clean, organized, and easy to maintain.

Before vs After
✗ Before
<?php
if ($_SERVER['REQUEST_URI'] == '/about') {
  echo 'About us page';
} elseif ($_SERVER['REQUEST_URI'] == '/contact') {
  echo 'Contact page';
}
✓ After
Route::get('/about', function () { return 'About us page'; });
Route::get('/contact', function () { return 'Contact page'; });
What It Enables

You can quickly add, change, or remove pages by editing simple route lines, making your website flexible and scalable.

Real Life Example

Think of a restaurant website where each menu category (starters, mains, desserts) is a route.

With Laravel routes, you easily add new categories or specials without rewriting the whole site.

Key Takeaways

Manual URL checks are messy and error-prone.

Laravel routes map URLs to actions cleanly.

This makes your app easier to build and maintain.

Practice

(1/5)
1. What does the following Laravel route definition do?
Route::get('/home', function () { return 'Welcome Home'; });
easy
A. It redirects '/home' to another URL.
B. It creates a database entry for '/home'.
C. It responds with 'Welcome Home' when the '/home' URL is visited.
D. It deletes the '/home' route.

Solution

  1. Step 1: Understand Route::get usage

    The Route::get method defines a route that listens for GET requests on a specific URL.
  2. Step 2: Analyze the callback function

    The callback returns the string 'Welcome Home' when the '/home' URL is accessed.
  3. Final Answer:

    It responds with 'Welcome Home' when the '/home' URL is visited. -> Option C
  4. Quick Check:

    Route::get('/home', ...) returns 'Welcome Home' [OK]
Hint: Route::get defines response for a URL visit [OK]
Common Mistakes:
  • Thinking it creates or deletes database entries
  • Confusing route response with redirection
  • Assuming it modifies URLs instead of responding
2. Which of the following is the correct syntax to define a route in Laravel that responds to a GET request at URL '/about'?
easy
A. Route::get('/about', function () { return 'About Us'; });
B. Route.get('/about', function () { return 'About Us'; });
C. Route::post('/about', function () { return 'About Us'; });
D. Route::get('/about') { return 'About Us'; };

Solution

  1. Step 1: Identify correct method and syntax

    Laravel uses Route::get() with double colon and parentheses to define GET routes.
  2. Step 2: Check callback function syntax

    The callback must be an anonymous function inside parentheses returning the response.
  3. Final Answer:

    Route::get('/about', function () { return 'About Us'; }); -> Option A
  4. Quick Check:

    Correct Laravel route syntax uses Route::get(...) [OK]
Hint: Use Route::get() with function callback for GET routes [OK]
Common Mistakes:
  • Using dot instead of double colon
  • Using Route::post for GET requests
  • Missing parentheses around function
3. What will be the output when visiting the URL '/greet' given this route?
Route::get('/greet', function () { return 'Hello, Laravel!'; });
medium
A. Hello, Laravel!
B. 404 Not Found error
C. Syntax error
D. Redirect to homepage

Solution

  1. Step 1: Check route URL and method

    The route listens for GET requests at '/greet'. Visiting '/greet' triggers this route.
  2. Step 2: Analyze the returned response

    The callback returns the string 'Hello, Laravel!' which will be shown in the browser.
  3. Final Answer:

    Hello, Laravel! -> Option A
  4. Quick Check:

    Route returns string response on GET request [OK]
Hint: Route::get returns callback output on URL visit [OK]
Common Mistakes:
  • Expecting a 404 error if route is defined
  • Confusing output with redirect or error
  • Assuming syntax error without checking code
4. Identify the error in this Laravel route definition:
Route::get('/contact', function { return 'Contact Page'; });
medium
A. Route URL should not start with '/'
B. Missing parentheses after function keyword
C. Return statement is not allowed in routes
D. Route::get should be Route::post

Solution

  1. Step 1: Check function syntax in route callback

    Anonymous functions require parentheses after the function keyword even if no parameters are used.
  2. Step 2: Verify other parts of the route

    The URL starting with '/' is correct, return statements are allowed, and Route::get is valid for GET requests.
  3. Final Answer:

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

    Anonymous functions need () after function [OK]
Hint: Always add () after function keyword in callbacks [OK]
Common Mistakes:
  • Omitting parentheses after function
  • Thinking URL cannot start with '/'
  • Confusing GET and POST methods
5. You want to create a route that returns a JSON response with a message 'Success' when visiting '/api/status'. Which is the correct Laravel route definition?
hard
A. Route::get('/api/status', function () { echo json_encode(['message' => 'Success']); });
B. Route::get('/api/status', function () { return 'Success'; });
C. Route::post('/api/status', function () { return response()->json(['message' => 'Success']); });
D. Route::get('/api/status', function () { return response()->json(['message' => 'Success']); });

Solution

  1. Step 1: Choose correct HTTP method and URL

    The route should respond to GET requests at '/api/status'.
  2. Step 2: Return JSON response properly

    Laravel's response()->json() helper returns a JSON response correctly formatted with headers.
  3. Step 3: Check other options for correctness

    Route::get('/api/status', function () { return 'Success'; }); returns plain text, Route::post('/api/status', function () { return response()->json(['message' => 'Success']); }); uses POST instead of GET, Route::get('/api/status', function () { echo json_encode(['message' => 'Success']); }); uses echo which is not recommended in routes.
  4. Final Answer:

    Route::get('/api/status', function () { return response()->json(['message' => 'Success']); }); -> Option D
  5. Quick Check:

    Use response()->json() for JSON output in routes [OK]
Hint: Use response()->json() to return JSON in routes [OK]
Common Mistakes:
  • Using wrong HTTP method (POST instead of GET)
  • Returning plain string instead of JSON
  • Using echo instead of return in route
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