Home >Backend Development >PHP Tutorial >How to pass variables to view in laravel
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); }
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>
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>
In fact, in the blade engine, {{ ##title }} will be parsed into output similar to this 2d0eff6e7f839c873f09a818d966e35c , but the {{ }} symbol here will output the data as it is. For example, if you write $title like this: public function index()
{
$title = '<span style="color: red">文章</span>标题1'; return view('articles.lists')->with('title',$title);
}
<h1>{!! $title !!}</h1>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 = '<span style="color: red">文章</span>标题1'; return view('articles.lists',['title'=>$title]); }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 = '<span style="color: red">文章</span>标题1'; $intro = '文章一的简介'; return view('articles.lists',[ 'title'=>$title, 'introduction'=>$intro ]); }In the passed array:
['title'=>$title,'introduction'=>$intro]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>##. #This should be written as {{{{ $introduction }}
introduction }} instead of {{ intro }}.
Using compact
Using compact is written like this:public function index() { $title = '<span style="color: red">文章</span>标题1'; $intro = '文章一的简介'; return view('articles.lists',compact('title','intro')); }
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:
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!