【问题标题】:Laravel - add part of session content into arrayLaravel - 将部分会话内容添加到数组中
【发布时间】:2020-12-13 18:17:44
【问题描述】:

我希望将会话的一部分移动到变量中。 刀片回声在 php 标签之外工作正常。 在 pgh 标签内,我收到有关“{”的错误。

问题:如何将提到的会话内容移动到 PHP 变量中?如果可能的话,我想继续使用刀片回声。

我的代码:

{{ session('payment.request_payment_id') }} // This works.

@php
  $test = {{ session('payment.request_payment_id') }} // This shows error
@endphp

错误:

syntax error, unexpected '{' (View: Xxx.blade.php)

【问题讨论】:

  • 我知道这个问题很基本,但请告诉我你为什么不投票。即使在看到答案之后,由于通常在 PHP 中需要启动会话并且“点表示法”是 Laravel 语法的一部分,它也不是很明显。
  • 您的问题与会话无关,它与您因 Blade 语法错误而导致的错误有关...没有人会向您解释整个框架,尤其是当您的问题有与其他任何事情无关,但不知道如何在 Blade 文件中运行 PHP 语句,所以停止

标签: php laravel laravel-blade php-7.4 laravel-7.x


【解决方案1】:

这些指令之间的所有 PHP:

@php
    $test = session('payment.request_payment_id');
@endphp

更新:

如果你真的认为你也需要在你的问题提出的时候回应这一点:

{{ $test = session('payment.request_payment_id') }}

{{ ... }} 中的所有内容都是 PHP。

【讨论】:

  • @Toolbox 添加了也回显的示例,因为您的问题想要坚持刀片回声
【解决方案2】:

这里的{{ }}表示刀片中的<?php echo ?>

@php
@endphp

翻译成<?php ?>


所以当你尝试时

@php
  $test = {{ session('payment.request_payment_id') }} // This shows error
@endphp

转换成

<?php
$test = <?php echo session('payment.request_payment_id') ?>
?>

这是错误的,上面lagbox给出的答案是正确的使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-01
    • 2019-02-17
    • 2017-04-18
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多