gpt4 book ai didi

php - 在布局中的 Laravel 5.3 View 中包含 PHP 变量

转载 作者:可可西里 更新时间:2023-11-01 00:29:39 26 4
gpt4 key购买 nike

基于 Laravel 通知电子邮件模板,这是我正在尝试做的事情。

我尝试为电子邮件设计一个带有变量的布局,以便在我的布局中定义一些样式,但可以在我的电子邮件 View 中访问。

这是一个例子:

emails/layout.blade.php

<!DOCTYPE html>
<html>
<head> [...]
</head>
@php
$style = ['body' => 'font-size:12px;color:#000;', 'paragraph' => 'font-size:10px;color:#eee;'];
@endphp
<body style="{{ $style['body'] }}">
@yield('content')
</body>
</html>

在我的电子邮件 View 中:

@extends('emails.layout')

@section('content')

<p style="{{ $style['paragraph'] }}">
Hi there!
</p>

@endsection

但这不起作用,因为在我的部分中无法访问 $style 变量。

所以,我让它工作的唯一方法是在我的布局和我的 View 中包含一个 PHP 文件,我很确定这不是我应该用 Laravel 做的方式......

<?php include_once(base_path('resources/views/emails/variables.php')); ?>

有办法实现吗?谢谢大家!

最佳答案

理想情况下,您不应该尝试以这种方式包含 PHP 变量。从 Controller 返回 View 时,您应该将渲染 View 所需的所有变量传递给它:

class YourController
{
public function yourMethod()
{
$styles = getYourStyles();

return view('emails.view')->with([
'styles' => $styles
]);
}
}

这将使您的样式在整个 View 的 $styles 变量中可用。

或者,您可以使用配置来存放您的变量,然后您可以在需要时轻松访问它们。

config/styles.php

return [
'paragraph' => 'font-size: 12px; font-weight: bold;'
];

在你的模板中:

<p style="{{ config('styles.paragraph') }}">

关于php - 在布局中的 Laravel 5.3 View 中包含 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40785689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com