laminas / laminas-view

Flexible view layer supporting and providing multiple view layers, helpers, and more
https://docs.laminas.dev/laminas-view/
BSD 3-Clause "New" or "Revised" License
74 stars 45 forks source link

Zend\View\Helper\FlashMessenger isn't compatible with Expressive #8

Closed weierophinney closed 2 years ago

weierophinney commented 4 years ago

In our project, we use Zend\Expressive as core and Zend\View as template engine. And we come across with an issue that FlashMessenger only works with Zend\Mvc\Controller\Plugin\FlashMessenger or Zend\Mvc\Plugin\FlashMessenger\FlashMessenger. None of them is available in Expressive and add dependencies on Zend\Mvc isn't a good idea.

There are different Flash implementations and will be great that Zend\View\Helper\FlashMessenger depend on some FlashInterface instead of Zend\Mvc\Plugin\FlashMessenger\FlashMessenger. This feature will allow integrating Zend\View\Helper\FlashMessenger with many Flash Messanger libraries.

I've written a module for this but for now FlashInterface is dirty and require improvement.


Originally posted by @popovserhii at https://github.com/zendframework/zend-view/issues/151

weierophinney commented 4 years ago

@popovserhii Have you seen https://github.com/zendframework/zend-expressive-flash ?


Originally posted by @michalbundyra at https://github.com/zendframework/zend-view/issues/151#issuecomment-379220586

weierophinney commented 4 years ago

@webimpress Yes, but this module isn't working correctly. The problem is not in zend-expressive-flash but in zend-expressive-session-ext.

Аfter composer require zendframework/zend-expressive-flash and modifying config/pipeline.php, authorization to my admin stops working. I was trying to understand but everything is very confusing. That why I've created a custom module.

But even if zend-expressive-flash will work I will not be able to use a flashMessanger helper which helps renders html markup.


Originally posted by @popovserhii at https://github.com/zendframework/zend-view/issues/151#issuecomment-379223624

weierophinney commented 4 years ago

the zend-expressive-flash should work, I created a blog post about it some time ago https://samsonasik.wordpress.com/2018/02/11/using-view-helper-for-accessing-zend-expressive-flash-messages-in-expressive-3/


Originally posted by @samsonasik at https://github.com/zendframework/zend-view/issues/151#issuecomment-379334879

samsonasik commented 4 years ago

There is mezzio-flash for that https://github.com/mezzio/mezzio-flash . You can create a view helper to retrieve it. I'm closing it.

froschdesign commented 4 years ago

@samsonasik

You can create a view helper to retrieve it.

I think you missed the reason of this feature request: the view helper should come from the framework. It is very annoying that I have to create it myself in every application.

I'm closing it.

Please do not close issue reports if there are added to active projects. Thanks!

samsonasik commented 4 years ago

@froschdesign ah, ok, just see the label, thank you ;)

froschdesign commented 4 years ago

@samsonasik No problem, here are so many labels and other linked objects. 😃

There is a good chance that the helper is not added to this component but the basic problem must be tracked and solved. The same problem affects the Identity helper because the helper also does not work in a Mezzio application and there is no alternative helper.