Что плохого в использовании $ _SESSION в Laravel 5.8, и если да, то что и почему? - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь получить доступ к сеансу Laravel 5.8 и сбросить массив внутри объекта в сеансе, но я не могу понять это.

Я могу использовать нативный php $_SESSION и просто unset($_SESSION["object"]->myarray[row_number]), и все хорошо в мире, но с сессиями Laravel не все так просто.

Я бы хотел избежать всех сессий Laravel и использовать нативный php, чтобы сэкономить время и завершить этот проект, и мне просто интересно, есть ли какие-нибудь долгосрочные минусы использования нативных сессий php в laravel

Я искал документы Google и Laravel, но не могу найти ничего при доступе к объектам с многомерными массивами в Laravel.

Ответы [ 4 ]

1 голос
/ 19 июня 2019

Я бы хотел избежать всех сессий Laravel и использовать нативный php, чтобы сэкономить время и завершить этот проект, и мне просто интересно, есть ли какие-либо долгосрочные минусы использования нативных сессий php в laravel

Это немного сложно, так как это отходит от сферы компетенции Stack Overflow до мнений, но здесь говорится:

Вы всегда должны использовать функции Laravel, где это возможно, поскольку это обеспечивает вам защиту, которой вы не можетеосознавать, и это изменения будущего.Он также сохраняет ваш код непротиворечивым.

Например, если вы хотите изменить способ хранения переменных сеанса в будущем, вам придется переписывать каждый фрагмент кода, в котором вы использовали $_SESSION["object"].Использование интерфейса Laravel означает, что если бы вы изменили способ хранения в будущем, вам не пришлось бы обновлять свой код на своем сайте, чтобы отразить это изменение.

См. Другие предложения о лучших способах написания этого с использованиемLaravel, но для ответа на вопрос «Есть ли что-то плохое в использовании $ _SESSION в Laravel 5.8 и если да, то что и почему?» - да, вкратце.

1 голос
/ 19 июня 2019

В Laravel вы можете использовать сессионные переменные следующим образом.Ссылка на документацию .

$request->session()->get('object');

Вы должны иметь возможность делать то, что вы хотите, с чем-то похожим.

$index = 0;
$request->session()->forget('object.myarray.' . index);
0 голосов
/ 19 июня 2019

для многомерного массива для $tempCategories = array( 0 => array( 'cat' => 'Wood' ), 1 => array( 'cat' => 'Metal' ), ); <h5>{{$cat['cat']}}</h5>

0 голосов
/ 19 июня 2019

Попробуйте сделать это $value = $request->session()->get('key.value');

См. документацию сессии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...