php-http / message

HTTP Message related tools
http://php-http.org
MIT License
1.3k stars 42 forks source link

migrated to laminas/laminas-diactoros (#125) #134

Closed driehle closed 3 years ago

driehle commented 4 years ago
Q A
Bug fix? no
New feature? no
BC breaks? no
Deprecations? no
Related tickets #125
License MIT

What's in this PR?

This PR replaces zend/zend-diactoros with laminas/laminas-diactoros. Due to laminas/laminas-zendframework-bridge, there is no BC break.

Why?

Because zend/zend-diactoros is officially abandoned.

dbu commented 4 years ago

if i understand correctly, this means that if one installs only laminas, but not the zend-bridge, the factory now returns a different class. i would hope that users do not rely on the concrete implementations when using this factory (otherwise there is no need to use the factory anyways). so to me this seems fine.

i suggest we do a new minor version, as it still is more than a bugfix. can you please rebase on the master branch and add something to the changelog (including mentioning the bridge?)

driehle commented 4 years ago

if i understand correctly, this means that if one installs only laminas, but not the zend-bridge, the factory now returns a different class. i would hope that users do not rely on the concrete implementations when using this factory (otherwise there is no need to use the factory anyways). so to me this seems fine.

Yes, you need to have the bridge installed. However, the bridge is required as a dependency of laminas-diactoros (see https://packagist.org/packages/laminas/laminas-diactoros) and will, to my understanding, be included there as a dependency until laminas-diactoros releases a major update (i.e. 3.0). So as soon as someone will have laminas-diactoros 2.x installed, they will have the bridge installed as well.

In the autoloader of the bridge you can see that they use class_alias() to create the legacy classes (e.g. ZendRequest). Therefore, if you have laminas-diactoros and the bridge installed, you will actually use LaminasRequest, but an $laminasRequest instanceof ZendRequest will still hold true (and vice versa, tough that is unlikely to happen).

i suggest we do a new minor version, as it still is more than a bugfix. can you please rebase on the master branch and add something to the changelog (including mentioning the bridge?)

Sure, will do.

driehle commented 4 years ago

Rebased and changelog updated. I fixed some broken and missing links in the changelog as well. ;-)

dbu commented 4 years ago

can you please fix the cs issue? https://github.com/php-http/message/pull/134/checks?check_run_id=1246548559

if tobias can clarify the puli usage, we can adjust that, if not i suggest we revert the puli change to not introduce unexpected BC breaks.

driehle commented 3 years ago

can you please fix the cs issue? https://github.com/php-http/message/pull/134/checks?check_run_id=1246548559

if tobias can clarify the puli usage, we can adjust that, if not i suggest we revert the puli change to not introduce unexpected BC breaks.

@dbu: Rebased on current master, fixed CS issue. Still awaiting the reply of @Nyholm regarding puli.