How to use compact in laravel

Posted by

In Laravel, the compact function is commonly used in controllers to pass variables to blade views. The compact function creates an array where the keys are variable names and the values are the corresponding variable values. Here’s how you can use compact in a Laravel controller to pass variables to a blade page:

In your controller method, define the variables that you want to pass to the blade view:

public function index()
{
    $name = 'John';
    $age = 30;

    return view('my-page', compact('name', 'age'));
}

In this example, we define the variables $name and $age with their corresponding values.

Pass the variables to the blade view using the compact function:

return view('my-page', compact('name', 'age'));

The compact('name', 'age') statement creates an array with the keys 'name' and 'age' and their corresponding values from the variables.

Access the variables in your blade view:

<h1>Welcome, {{ $name }}</h1>
<p>Your age is: {{ $age }}</p>

In the blade view, you can access the variables using the $ sign followed by the variable name ($name and $age in this example).

The compact function is a convenient way to pass variables to blade views without explicitly creating an associative array. It helps keep your code clean and readable.

Alternatively, you can also use the with method when returning the view to pass variables individually:

return view('my-page')->with('name', $name)->with('age', $age);

In this case, each variable is passed individually using the with method.

Both approaches achieve the same result of passing variables from the controller to the blade view. Choose the one that suits your coding style and preferences.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x