在 Laravel 中传递数据以查看的不同方法
Laravel 提供了不同的方式将数据传递给视图。我们可以直接从路由或通过控制器传递数据。
以下是我们可以将数据传递给视图的一些方法:
- 使用视图()
- 使用 with()
- 使用紧凑()
- 使用控制器类
1.使用view():我们可以直接在' view() '辅助函数中传递数据,方法是使用函数中的第二个参数,它接受一个数组作为键值对。
注意:评论或删除 ' web.xml 中任何以前的路线。 ' routes ' 目录中的PHP ' 文件。
示例 1:
- 在' web.xml'中编写以下代码。 PHP ' 文件。
Route::get('/', function () { return view('gfg', ['articleName' => 'Article 1']); });
在 view() 中,第一个参数是视图的名称,第二个参数是我们必须指定数据的键值对的位置。
- 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
GeeksforGeeks My Article
{{ $articleName }}
这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那里,我们指定了键的名称,作为PHP变量,我们在“视图”辅助函数中传递。
输出:
示例 2:我们也可以传递具有多个值的数组。
- 在' web.xml'中编写以下代码。 PHP ' 文件。
Route::get('/', function () { return view('gfg', [ 'articles' => ['Article 1','Article 2','Article 3'] ]); });
在view()中,第一个参数是视图的名称,第二个参数是我们指定数据的一个键和多个值的位置。
我们还可以将数组元素存储在一个变量中,然后将其传递给视图函数。在下面的代码中,我们将所有值存储在一个变量中,并将其作为value传递给view()函数的第二个参数。
Route::get('/', function () { $articles = ['Article 1','Article 2','Article 3']; return view('gfg', ['articles' => $articles]); });
- 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
GeeksforGeeks My Article
-
@foreach ($articles as $article)
- {{ $article }} @endforeach
注意:两种方法的输出将相同。
输出:
2. 使用 with(): ' with() ' 是一种传递单个数据形式的方法,与 ' view ' 辅助函数一起使用。
注意:评论或删除 ' web.xml 中任何以前的路线。 ' routes ' 目录中的PHP ' 文件。
例子:
- 在' web.xml'中编写以下代码。 PHP ' 文件。
Route::get('/', function () { $articleName = ‘Article 1’; return view('gfg')->with('articleName', $articleName)-> with('articlePublished', 'On GeeksforGeeks'); });
正如你在上面的代码中看到的,我们必须指定一个箭头' -> ',然后使用' with() '方法和' view() '辅助函数。我们可以根据需求和用例指定一个或多个' with() '。
- 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
GeeksforGeeks My Article
{{ $articleName }}
{{ $articlePublished }}
这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那,我们已经指定了键的名称,作为PHP变量,我们在“view”辅助函数中传递。
输出:
3. 使用 compact(): ' compact() ' 是一个PHP函数,可用于创建具有变量和值的数组。这里变量上的名称是键,变量内容是值。
注意:评论或删除 ' web.xml 中任何以前的路线。 ' routes ' 目录中的PHP ' 文件。
例子:
- 在' web.xml'中编写以下代码。 PHP ' 文件。
Route::get('/', function () { $articleName = ['Article 1','Article 2']; $articlePublished = 'On GeeksforGeeks'; return view('gfg', compact('articleName', 'articlePublished')); });
在 view() 中,第一个参数是视图的名称,第二个参数是我们必须指定 ' compact() '函数的地方。
- 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
GeeksforGeeks My Article
@foreach ($articleName as $article)- {{ $article }}
@endforeach{{ $articlePublished }}
这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那里,我们指定了键的名称,作为PHP变量,我们在“视图”辅助函数中传递。
- 输出:
- 我们首先必须通过在命令行上运行以下命令来创建一个控制器类。
php artisan make:controller GfGController
- 之后,打开' GfGController.在 'app/ PHP /Controllers ' 目录中创建一个名为 ' article ' 的公共函数。在这个函数中,我们可以指定我们上面看到的任何数据传递方法。
'Passing Data to View']); } }
- 现在,在' web.xml 中编写以下代码。 PHP ' 文件。
Route::get('/', 'GfGController@article');
其中,第一个参数是路由,第二个参数是控制器名称,带有处理路由的函数名称,以' @ '分隔。
- 在' gfg.blade 中创建并编写以下代码。 ' resources/views ' 目录中的PHP ' 文件。
GeeksforGeeks My Article
{{ $article }}
这里我们使用了双花括号' {{ }} '来转义 HTML 元素。在那里,我们指定了键的名称,作为PHP变量,我们在“视图”辅助函数中传递。
- 输出:
PHP是一种专门为 Web 开发而设计的服务器端脚本语言。您可以按照此PHP教程和PHP示例从头开始学习PHP 。
4. 使用控制器类:使用控制器类传递数据很简单,而且是正确的方法。
注意:评论或删除 ' web.xml 中任何以前的路线。 ' routes ' 目录中的PHP ' 文件。例子: