Size: a a a

2021 April 10

DR

Dmitry Ranger in phpGeeks
Если человек кроме клавиатуры не держал в руках ничего, какой ему devops?))
update: я про доп скилы)
источник

V

Vladimir in phpGeeks
А манагером быть не хочешь? Через плагин code with me звонить разрабу в пхпшторм и спрашивать че так долго задачу делает?)
источник

DR

Dmitry Ranger in phpGeeks
Помогите пожалуйста) Я выделил создание сессии в класс
class Storage
{
   public function __construct()
   {
       if (!isset($_SESSION)) {
           $this->initStorage();
       }
   }

   protected function initStorage()
   {
       session_start();
       error_reporting(E_ALL);
   }

   public function setStorageId($Id, $func)
   {
       $_SESSION[$Id] = $func;
   }

   public function getStorageId($Id)
   {
       return $_SESSION[$Id];
   }
}
источник

DR

Dmitry Ranger in phpGeeks
далее создаю объект сессии)
$storage = new Storage();
источник

DR

Dmitry Ranger in phpGeeks
Все отлично вроде стартует, но в логике при обновлении страницы - сессия обнуляется
источник

DR

Dmitry Ranger in phpGeeks
В чем может быть причина? Спасибо большое
Создание объектов через другие классы для сохранении в сессии происходит так:

$storage->setStorageId('Lila', (new Person()));
источник

СМ

Сергей Моисеев... in phpGeeks
Идентификатор сессии при обновлении страницы меняется?
источник

DR

Dmitry Ranger in phpGeeks
Проверил, не меняется. Всегда один и тотже string(26) "aml53nj3ecfvl6l39latqqb4j2"
источник

СМ

Сергей Моисеев... in phpGeeks
А если сделать $storage->setStorageId('person', 'value'); ? А потом попробовать получить значение.
источник

DR

Dmitry Ranger in phpGeeks
Все ок, при обновлении страницы значение всегда одно string(5) "value"
источник

DR

Dmitry Ranger in phpGeeks
Но если создаешь объект класса с данными, то уже не ок)
источник

СМ

Сергей Моисеев... in phpGeeks
Ну вот, всё работает. Может надо serialize(new Person()) сделать?
источник

DR

Dmitry Ranger in phpGeeks
На удивление так тоже все работает без serialize
$storage->setStorageId('person', new Person());
$storage->getStorageId('person')->num = '198237912873';
var_dump($storage->getStorageId('person')->num);    // -> 198237912873
источник

DR

Dmitry Ranger in phpGeeks
Может проблема в скобках
$storage->setStorageId('Lila', (new Person()));
А надо так:
$storage->setStorageId('Lila', new Person());
источник

DR

Dmitry Ranger in phpGeeks
Нет((( Все равно. Мистика какая-то
То есть получается ЧТОТО объект Lila обнуляет (не только Lila, там 3 объекта)
источник

DR

Dmitry Ranger in phpGeeks
Возможно что какойто баг на сервере, сейчас попробую на другом
источник

СМ

Сергей Моисеев... in phpGeeks
Надо смотреть логику приложения. Может запись происходит, может сессия создаётся новая.
источник

DR

Dmitry Ranger in phpGeeks
С объектами все впорядке, потому что я протестировал на отдельном блоке записать значения в эти объекты и считать, все ок. То есть косяк реально в работе приложения
источник

V

Victooor in phpGeeks
Планета обезьян уже давно наступила, судя по некоторым комментам под новостями
источник

SR

Sergey Romanenko in phpGeeks
да 🙁
источник