Метод push
Метод push класса Session применяется
для добавления элемента в массив, который хранится
в сессии. Первым параметром передаётся ключ доступа
к массиву, вторым - значение, которое нужно добавить.
Если по указанному ключу ещё нет данных, метод
создаст новый массив с переданным значением.
Синтаксис
<?php
session()->push($key, $value);
?>
Пример
Давайте добавим новую статью в массив сохранённых статей в сессии:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function saveArticle(Request $request)
{
session()->push('saved_articles', $request->input('article'));
return back();
}
}
?>
В результате выполнения кода в сессию будет добавлен
новый элемент в массив с ключом 'saved_articles'.
Пример
Давайте добавим несколько значений в массив сессии:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function addUserData(Request $request)
{
session()->push('user.history', 'page_viewed');
session()->push('user.history', 'button_clicked');
session()->push('user.history', 'form_submitted');
$res = session()->get('user.history');
foreach ($res as $action) {
echo $action;
}
}
}
?>
Результат выполнения кода:
"page_viewed"
"button_clicked"
"form_submitted"
Пример
Давайте добавим элемент в несуществующий ключ сессии:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SessionController extends Controller
{
public function addNewArray(Request $request)
{
session()->push('new_array', 'first_value');
$res = session()->get('new_array');
echo $res;
}
}
?>
Результат выполнения кода:
["first_value"]