Bird
Raised Fist0
Laravelframework~10 mins

Controller methods and actions in Laravel - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a controller method that returns a view named 'welcome'.

Laravel
public function index() {
    return view('[1]');
}
Drag options to blanks, or click blank then click option'
Awelcome
Bindex
Cdashboard
Dhome
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong view name causes a 'view not found' error.
Forgetting to return the view from the method.
2fill in blank
medium

Complete the code to define a controller method that accepts a parameter $id and returns it.

Laravel
public function show([1]) {
    return $id;
}
Drag options to blanks, or click blank then click option'
A$id
B$name
C$user
D$data
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different parameter name than the variable returned.
Forgetting the $ sign before the parameter name.
3fill in blank
hard

Fix the error in the controller method to correctly redirect to the 'home' route.

Laravel
public function redirectToHome() {
    return [1]('home');
}
Drag options to blanks, or click blank then click option'
Aview
BredirectTo
Credirect
Droute
Attempts:
3 left
💡 Hint
Common Mistakes
Using view instead of redirect causes the method to return a view, not a redirect.
Using route alone without redirect does not perform a redirect.
4fill in blank
hard

Fill both blanks to define a controller method that validates a request and stores a new user.

Laravel
public function store(Request $request) {
    $validated = $request->[1]([ 'email' => 'required|email' ]);
    User::[2]($validated);
    return redirect()->route('users.index');
}
Drag options to blanks, or click blank then click option'
Avalidate
Bsave
Ccreate
Dcheck
Attempts:
3 left
💡 Hint
Common Mistakes
Using save on the model class instead of an instance.
Using check which is not a Laravel method.
5fill in blank
hard

Fill all three blanks to define a controller method that updates a user and redirects back with a success message.

Laravel
public function update(Request $request, User $user) {
    $data = $request->[1]([ 'name' => 'required' ]);
    $user->[2]($data);
    return redirect()->[3]('users.show', $user->id)->with('status', 'User updated!');
}
Drag options to blanks, or click blank then click option'
Avalidate
Bupdate
Croute
Dsave
Attempts:
3 left
💡 Hint
Common Mistakes
Using save instead of update on the model instance.
Using redirect()->route incorrectly without parameters.

Practice

(1/5)
1. What is the main purpose of a controller method (action) in Laravel?
easy
A. To handle a specific user request and return a response
B. To define database schema
C. To style the HTML output
D. To manage server configuration

Solution

  1. Step 1: Understand controller role

    Controllers group related logic into methods called actions.
  2. Step 2: Identify action purpose

    Each action handles a user request and returns a response like a view or JSON.
  3. Final Answer:

    To handle a specific user request and return a response -> Option A
  4. Quick Check:

    Controller action = handle request and respond [OK]
Hint: Controllers handle requests and responses, not styling or config [OK]
Common Mistakes:
  • Confusing controller methods with database or styling tasks
  • Thinking controllers manage server settings
  • Assuming controllers only return views
2. Which of the following is the correct syntax to define a controller method named show in Laravel?
easy
A. function show() public { /* code */ }
B. public function show() { /* code */ }
C. public show function() { /* code */ }
D. def show() { /* code */ }

Solution

  1. Step 1: Recall PHP method syntax

    In PHP, methods are defined with visibility, function keyword, name, and parentheses.
  2. Step 2: Match Laravel controller method syntax

    Laravel uses PHP syntax: public function methodName() {}.
  3. Final Answer:

    public function show() { /* code */ } -> Option B
  4. Quick Check:

    PHP method = public function name() [OK]
Hint: Remember PHP method syntax: visibility + function + name() [OK]
Common Mistakes:
  • Placing visibility after function keyword
  • Using Python style def keyword
  • Omitting parentheses after method name
3. Given this controller method in Laravel:
public function greet($name) {
    return "Hello, " . $name . "!";
}

What will be the output if called with $controller->greet('Anna')?
medium
A. "Hello, Anna!"
B. "Hello, $name!"
C. Error: Undefined variable
D. "Hello, !"

Solution

  1. Step 1: Understand method parameter usage

    The method receives $name and concatenates it with strings.
  2. Step 2: Substitute argument value

    Calling with 'Anna' replaces $name with 'Anna', so output is "Hello, Anna!".
  3. Final Answer:

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

    Parameter value used in string = "Hello, Anna!" [OK]
Hint: Replace parameter with argument value to find output [OK]
Common Mistakes:
  • Treating $name as literal string
  • Expecting error due to missing variable
  • Ignoring string concatenation
4. Identify the error in this Laravel controller method:
public function index()
{
    return view('welcome')
}
medium
A. View name should be capitalized
B. Incorrect method name
C. Missing semicolon after return statement
D. Missing parentheses in view() call

Solution

  1. Step 1: Check PHP syntax in method

    PHP statements must end with a semicolon; here it is missing after return view('welcome').
  2. Step 2: Validate other parts

    Method name and view call syntax are correct; view name case is not an error.
  3. Final Answer:

    Missing semicolon after return statement -> Option C
  4. Quick Check:

    PHP statements end with ; [OK]
Hint: Check for missing semicolons after return statements [OK]
Common Mistakes:
  • Ignoring missing semicolon causing syntax error
  • Thinking view names must be capitalized
  • Assuming parentheses are missing in view()
5. You want to create a Laravel controller method that returns a JSON response with a user's name and email. Which method correctly does this?
public function userInfo()
{
    $user = ['name' => 'John', 'email' => 'john@example.com'];
    // Fill in the return statement
}
hard
A. return json($user);
B. return json_response($user);
C. return response->json($user);
D. return response()->json($user);

Solution

  1. Step 1: Recall Laravel JSON response syntax

    Laravel uses response()->json() helper to return JSON responses.
  2. Step 2: Check each option's syntax

    return response()->json($user); correctly calls response()->json($user);. Others are invalid or incorrect syntax.
  3. Final Answer:

    return response()->json($user); -> Option D
  4. Quick Check:

    Use response()->json() for JSON output [OK]
Hint: Use response()->json() helper to return JSON [OK]
Common Mistakes:
  • Using undefined functions like json() or json_response()
  • Missing parentheses or arrow operator in response call
  • Confusing PHP syntax for method calls
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