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

Posted

技术标签:

【中文标题】Laravel - 创建一个会话数组并在每次重新加载页面时添加到它【英文标题】:Laravel - Create a session array and add to it every time the page is reloaded 【发布时间】:2019-07-18 10:40:30 【问题描述】:

在何处以及如何实例化会话数组,如何添加到该会话数组,以及如何访问该会话数组?

我知道已经回答了类似的问题,但人们一次只共享一行代码,没有文件名,所以我不知道该代码的去向。

我需要在 Laravel 中创建一个会话数组,这样当我在我的 Twilio 帐户中使用单词“add”后跟一个字符串时,它将创建数组并将字符串添加到其中,或者如果数组已经创建它将简单地将字符串添加到已创建的数组中。我需要能够使用新字符串重复发送文本以添加到数组中,这就是我需要会话数组的原因。稍后我将向文本“列表”和“删除”添加功能,以列出和删除数组中的项目。

我能够获取传入的字符串。

routes.php

<?php

Route::get('/sms/incomingString', 'SMSController@toDo');

我将字符串传递给我的控制器,然后将它提供给我的视图。

SMSController.php

<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class SMSController extends Controller

    public function toDo(Request $request, $incomingString)
    
        return view('sms', ['incomingString'=>$incomingString]);

    

接下来,我将数组分解并分解,所以如果文本是“add”do the bowls,它将使用 $result[0] 并看到它是“add”,然后我有 $result[ 1] 作为“洗碗”。我的目标是将 $result[1] 附加到我创建的任何会话数组中。

sms.blade.php

<?php

require_once 'C:\xampp\htdocs\vendor\autoload.php';
use Twilio\TwiML\MessagingResponse;

$result = explode(" ", $incomingString, 2);

if ($result[0] == 'add')

    //add $result[1] to session array


$response = new MessagingResponse();
$response->message('You have added ' . $result[1] . ' to your chore list');

到目前为止,Laravel 的文档已经帮了我很多忙,但是在这个主题上,我很难找出我在哪里使用这里记录的代码行:https://laravel.com/docs/5.2/session。

【问题讨论】:

【参考方案1】:

创建一个像这样的会话:

Auth::login(YOUR_ARRAY);

现在在每个页面中加载:喜欢

Auth::user()->id;//

【讨论】:

我在哪些文件中创建会话?我只是将它加载到它正在使用的每个页面的顶部吗?谢谢。 在 Login Method ,Controller 中创建的Session,可以在每个文件中调用。

以上是关于Laravel - 创建一个会话数组并在每次重新加载页面时添加到它的主要内容,如果未能解决你的问题,请参考以下文章

从 laravel 中的一个后缀获取所有会话

如何在 laravel 中进行会话?

iframe 中的 laravel 应用程序不断刷新会话

会话超时后的 laravel csrf 令牌不匹配异常

你如何打开一个带有完成处理程序的 FBSession,它不会被保留并在每次会话状态更改时调用?

laravel 4.2在重定向时重新生成会话