Open azjezz opened 5 years ago
i think first we need few changes before supporting Swoole
or any other non-blocking IO server ( such ReactPHP
or Amp
) :
ParagonIE\Cookie\Session
dflydev/fig-cookies
instead of ParagonIE\Cookie\Cookie
symfony/cache
, cache/cache
or any other implementations what do you think @paragonie-scott
things that can done in a middleware :
... and much more
this will result in much cleaner setup and bring us closer to using Servers such as Swoole, ReactPHP, Amp .. etc.
@azjezz how would you envision async support as no part of airship is build with non blocking support in mind?
@PeeHaa the only problem i currently see is the usage of global variables and the session extension, but for now I'm waiting for @paragonie-scott opinion on this.
the usage of global variables $_GET and $_POST can be avoided by using the PSR7 request, $_COOKIES can be avoided by using dflydev/fig-cookies instead of ParagonIE\Cookie\Cookie and we need a new session implementation, one that doesn't use the session extension, something like this : zendframework/zend-expressive-session-cache
i intend to follow up with PR next week, first i have some questions :
for this i suggest having 1 class
AirShip\Networking\Server
and multiple drivers ( e.g :AirShip\Networking\Server\Driver\SwooleDriver
,AirShip\Networking\Server\Driver\AmpDriver
.. etc )