[英]Laravel 8 – Blade template – read variable from another template file
这一定非常简单,但由于我是 Laravel 的新手,我很难在文档或 stackoverflow 中找到此功能。
我将尝试构建一个非常简单的示例来展示我想要的东西。
假设我有一个名为 data.blade.php 的文件
@php
$myVariable = 'xyz';
@endphp
然后,我有我的布局模板文件,名为:home.blade.php
@extends('data.blade')
@section('content')
@php
echo $myVariable;
@endphp
@endsection
当我尝试这样做时,它返回一个错误:
Undefined variable $myVariable (etc)
如何使用另一个刀片文件中定义的变量? 我用 extends 来举例说明,但我不确定那是否是正确的架构。
谁能指出我实现这一目标的正确方法?
谢谢!
你正在扩展 data.blade.php 并且这个文件需要有一些元素作为模板并被扩展。
您可以采用任何 html5 文件并将其重命名为 template.blade.php,但是您要在模板中呈现部分的位置必须具有 yield('section-name')。
制作一个新的 app.blade.php 应该是这样的
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
然后,在你的 home.blade.php
@extends('layouts.app')
@section('title', 'Page Title')
@section('sidebar')
@parent
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
@include(data)
{{$myVariable}}
<p>This is my body content.</p>
@endsection
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.