laminas / laminas-mvc-plugin-flashmessenger

Plugin for creating and exposing flash messages via laminas-mvc controllers
https://docs.laminas.dev/laminas-mvc-plugin-flashmessenger/
BSD 3-Clause "New" or "Revised" License
10 stars 16 forks source link

The getCurrentMessages method's logic #1

Open weierophinney opened 4 years ago

weierophinney commented 4 years ago

Hi.

I understand the difference between the getMessages and getCurrentMessages methods and how they work, but I don't get why these "current" messages could be accessed on the second request even if we haven't really added anything during it. Is this the expected behaviour? If so, what makes them "current" then?

Here's a test:

public function testCurrentMessages()
{
    $helper = new FlashMessenger();

    $this->assertFalse($helper->hasCurrentMessages()); // OK

    $helper->addMessage('foo');

    $this->assertTrue($helper->hasCurrentMessages()); // OK
    $this->assertFalse($helper->hasMessages()); // OK

    unset($helper);

    $helper2 = new FlashMessenger();

    $this->assertFalse($helper2->hasCurrentMessages()); // Failure
    $this->assertTrue($helper2->hasMessages()); // OK
}

Originally posted by @panychek at https://github.com/zendframework/zend-mvc-plugin-flashmessenger/issues/25