Не произвольный, многократный вызов метода

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Jluct
Сообщения: 15
Зарегистрирован: 2016.06.04, 20:41

Не произвольный, многократный вызов метода

Сообщение Jluct » 2017.03.28, 14:58

Всем привет. У меня появилась необходимость использовать вот такую конструкцию

Код: Выделить всё

       if ($session->has('count'))
            echo $session->set('count', $session->get('count') + 1);
       else
            $session->set('count', 1); 
В качестве заглушки метод вызывается в layout, позднее данные будут переданы в виджет.

Код: Выделить всё

<?php var_dump(Foo::bar()) ?>
При этом счётчик в сессии растёт по странному алгоритму. Не 1,2,3,4,5 и т.д., а 15, 32, 41, 55 и т.д.

Может кто то сталкивался с такой проблемой? Я даже и не знаю в какую сторону копать. Циклы в методе не используются

Заранее благодарен за помощь.

rak
Сообщения: 2031
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Не произвольный, многократный вызов метода

Сообщение rak » 2017.03.28, 15:41

например, могут быть дополнительные запросы, которые возвращают 404(favicon, js, css) и счетчик увеличивается

Jluct
Сообщения: 15
Зарегистрирован: 2016.06.04, 20:41

Re: Не произвольный, многократный вызов метода

Сообщение Jluct » 2017.03.28, 15:53

похоже что так)
Только сейчас задумался. Если файла нет, апач переадресовывает на index.php, нет пары файлов, вот и имею проблему) Может кто ещё знает, какие изменения надо внести в .htaccess, что бы не допускать подобного?

Аватара пользователя
proctoleha
Сообщения: 277
Зарегистрирован: 2016.07.10, 19:00

Re: Не произвольный, многократный вызов метода

Сообщение proctoleha » 2017.03.29, 10:52

Код: Выделить всё

$session = yii::$app->session;

if ($session->has('count')){
    echo $session['count'] . '<br>';
    $session['count'] = $session['count'] + 1;
    echo $session['count'];
}
else
    $session->set('count', 1);
Вот за что я не люблю линукс, так это за свои кривые, временами, руки

someweb
Сообщения: 545
Зарегистрирован: 2017.03.09, 10:12

Re: Не произвольный, многократный вызов метода

Сообщение someweb » 2017.03.29, 12:17

Не увеличивайте счетчик если 404.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.

Ответить