Laravel - 将部分会话内容添加到数组中

Posted

技术标签:

【中文标题】Laravel - 将部分会话内容添加到数组中【英文标题】:Laravel - add part of session content into array 【发布时间】: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 语句,所以停止 【参考方案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给出的答案是正确的使用

【讨论】:

以上是关于Laravel - 将部分会话内容添加到数组中的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 创建一个会话数组并在每次重新加载页面时添加到它

如何将数组推送到 laravel 中的现有会话

Laravel Javascript - 检查会话中是否存在主题,添加类

Laravel - 从会话数组中获取项目

会话不在 Vue.js 和 Laravel 中存储数据

如何取消设置 laravel 会话数组