首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel“屈服与逃避”

Laravel“屈服与逃避”
EN

Stack Overflow用户
提问于 2015-11-24 18:06:12
回答 3查看 3.6K关注 0票数 6

在Laravel 5中,我有一个包含以下内容的主模板:

代码语言:javascript
复制
<title>@yield('title') | Site Name</title>

在我看来:

代码语言:javascript
复制
@extends('master')

@section('title', $client->name)

...

问题是,“收益率”并没有逃避传递给它的数据。到目前为止,我找到的唯一解决方案是手动转义数据,如下所示:

代码语言:javascript
复制
@section('title', e($client->name))

这是最好的方法吗?这意味着我必须手动转义使用变量的每个视图上的数据。我看不出有一种方法可以从主模板中转义@产指令--使用{{ }}e()绕着“产”是行不通的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-24 18:36:04

为什么不做以下工作:

代码语言:javascript
复制
@section('title') {{$client->name}} @endsection

这至少与您的其他视图中的转义数据一致。按照你的方式,你很可能会错过一个e()。有了以上所述,如果没有转义,则可以在呈现视图时立即查看。

更新

如何使用原始PHP:

代码语言:javascript
复制
<title> <?php echo e($__env->yieldContent('title')); ?> | Site Name</title>

这就是刀片模板引擎用什么代替@yield,但我已经添加了转义助手。

这意味着您不需要逃避@section。我想这个会成功的,还没试过。

票数 13
EN

Stack Overflow用户

发布于 2021-11-26 09:59:05

在我的例子中,问题是它实际上已经转义了我传递的字符串,如下所示:

代码语言:javascript
复制
@section('title', 'String with \' string')

在实际的HTML中,您将看到&#039;而不是实际的'

解决这一问题的方法是编写如下部分:

代码语言:javascript
复制
@section('title'){!! "String with ' string" !!}@endsection
票数 1
EN

Stack Overflow用户

发布于 2015-11-24 18:35:48

代码语言:javascript
复制
@section('title')
 {{ $client->name }}
@stop
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33900779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档