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 46 forks source link

Server URL Helper Cleanup #160

Closed gsteel closed 2 years ago

gsteel commented 2 years ago

Description

Deprecates all methods in the server url helper and introduces a factory to provide the helper with the detected or configured host URI.

Brings in a hard dependency on laminas-diactoros in order to re-use the functions for detecting the host/port from the environment that are already present there.

Doesn't break BC according to tests, and also doesn't alter existing behaviour for long-running apps because the previous implementation caches the host/port in instance properties anyway.

The main improvement here is that consumers can configure the desired host and port without any attempt to figure it out from the environment which is particularly useful on the CLI or any other time when the required env vars are either wrong or not there at all.

The introduction of the factory is a potential BC break because an exception is thrown when there is neither configuration, nor usable env vars.

gsteel commented 2 years ago

Oh… GHA is down again…

Ocramius commented 2 years ago

@gsteel I re-opened this: was it closed on purpose?

gsteel commented 2 years ago

@Ocramius - GHA confused me by being down and I had a duplicate pull - I left this one open and closed the other one.

Ocramius commented 2 years ago

@gsteel if you can rebase this, I can throw it into 2.21.0

Ocramius commented 2 years ago

Nvm, needs some work, removing milestone for now, and releasing.

gsteel commented 2 years ago

Closing… With https://github.com/laminas/laminas-mvc-view/pull/1 in progress, I suspect we'll simply delete the Url and ServerUrl helpers here in 3.0 release.