Session IndexController::indexAction中的代码在每个请求之前执行

Session IndexController::indexAction中的代码在每个请求之前执行,session,routes,phalcon,Session,Routes,Phalcon,它是一个bug还是一个特性 我有两个控制器IndexController和TestController 第一个是这样的: class IndexController extends \Phalcon\Mvc\Controller { public function indexAction() { $products = $this->basket->get('products', []); $products[] = uniqid('i

它是一个bug还是一个特性

我有两个控制器IndexController和TestController

第一个是这样的:

class IndexController extends \Phalcon\Mvc\Controller
{
    public function indexAction()
    {
        $products = $this->basket->get('products', []);
        $products[] = uniqid('index.index');
        $this->basket->set('products', $products);
    }

    public function testAction()
    {
        var_dump($this->basket->products);
    }
}
我只是用indexAction在会话中保存一个数组,并在testAction中显示该数据

对于第一个请求,index/test的输出是一个空数组。但是第二个和所有后续请求添加了一个新元素。如果我评论行
$this->basket->set('products',$products)
然后下一个对索引/测试的请求将向数组添加另一个值,但在此之后,不会再向数组添加额外的值

然后我加上

class TestController extends \Phalcon\Mvc\Controller
{
    public function indexAction()
    {
        $products = $this->basket->get('products', []);
        $products[] = uniqid('test.index');
        $this->basket->set('products', $products);
        die();
    }

    public function testAction()
    {
        var_dump($this->basket->products);
        die();
    }
}
但对于请求测试/测试,我再次在会话变量中得到更改


看起来路由索引/索引总是在任何其他路由之前执行。这是一个特性、bug还是某种配置错误?我使用官方文档中多模块应用程序的标准配置。

这很可能是因为您的浏览器在后台点击了/favicon.ico。我已经在不同的框架中多次被这一点刺痛

尝试放置favicon.ico文件(或阻止该路径的规则),然后查看问题是否仍然存在