Home > Backend Development > PHP Tutorial > How to pass variables to view in laravel

How to pass variables to view in laravel

小云云
Release: 2023-03-21 14:06:02
Original
1761 people have browsed it

When we develop web applications, we usually do not write static pages. We need to deal with data. So at this time, the question arises. In an MVC framework, how to pass data to the view? ? For example, we want to output a $title variable in the view of the index method of ArticleController. In Laravel, there are several common methods:

Use the with() method

 public function index()
    {
        $title = '文章标题1';        
        return view('articles.lists')->with('title',$title);
    }
Copy after login

such with ('title',

title is the value, so we can output this in our articles/lists.blade.php Variables:

<body><h1><?php echo $title; ?></h1></body>
Copy after login

Refresh our blog.dev, you can see a page like this:

In the blade engine, we can output variables like this:

<body><h1>{{ $title }}</h1></body>
Copy after login

In fact, in the blade engine, {{ ##title }} will be parsed into output similar to this

title; ?> , but the {{ }} symbol here will output the data as it is. For example, if you write $title like this:

 public function index()
    {
        $title = &#39;<span style="color: red">文章</span>标题1&#39;;        return view(&#39;articles.lists&#39;)->with(&#39;title&#39;,$title);
    }
Copy after login

At this time you Use {{ $title }} to output, and you will see something like the following:

If you want to render $title as a page element, you need to write like this:

<h1>{!! $title !!}</h1>
Copy after login

Here {{ }} and {!! !!} are the most basic usage of blade. We will use these two very often. I will talk about the usage of blade in detail later.

Pass parameters directly to view().

When using this method, you can write like this:

public function index()
    {
        $title = &#39;<span style="color: red">文章</span>标题1&#39;;        return view(&#39;articles.lists&#39;,[&#39;title&#39;=>$title]);
    }
Copy after login

Refresh the page, you will still see the same output. It needs to be explained here, if you pass multiple variables, such as:

public function index()
    {
        $title = &#39;<span style="color: red">文章</span>标题1&#39;;        $intro = &#39;文章一的简介&#39;;        return view(&#39;articles.lists&#39;,[                                        &#39;title&#39;=>$title,                                        &#39;introduction&#39;=>$intro
                                        ]);
    }
Copy after login

In the passed array:

[&#39;title&#39;=>$title,&#39;introduction&#39;=>$intro]
Copy after login

Each key will be used as a variable in the view, and value will be used as the value of the variable, so in the view we need to output like this:

<h1>{!! $title !!}</h1>

{{ $introduction }}

Copy after login
##. #This should be written as {{

introduction }} instead of {{ intro }}.

Using compact

Using compact is written like this:

 public function index()
    {
        $title = &#39;<span style="color: red">文章</span>标题1&#39;;        
        $intro = &#39;文章一的简介&#39;;        
        return view(&#39;articles.lists&#39;,compact(&#39;title&#39;,&#39;intro&#39;));
        }
Copy after login

The string of compact() can be the name of the variable, and multiple variable names are separated by commas. At this time, pay attention to changing the variable output of the view.

The above are several methods commonly used in Laravel to pass variables to the view. Just choose a method you like and stick to this way of writing. I use The third type.

Related recommendations:


Laravel 3 ways to pass variables to the view

The above is the detailed content of How to pass variables to view in laravel. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template