![PHP code showing URI Template extraction with League\Uri.
A template contains repeated variables, including {term:1} and {term}, plus an exploded query variable {q*}.
The URI /1.1/search/j/john/?q=a&q=b&limit=10 is extracted into an ExtractionResult, producing version "1.1", term "john", q as ["a", "b"], and limit "10".](https://pbs.twimg.com/media/HR2bMBXaIAARdcZ.png?name=small&format=webp)
ALT PHP code showing URI Template extraction with League\Uri. A template contains repeated variables, including {term:1} and {term}, plus an exploded query variable {q*}. The URI /1.1/search/j/john/?q=a&q=b&limit=10 is extracted into an ExtractionResult, producing version "1.1", term "john", q as ["a", "b"], and limit "10".

ALT Example demonstrating the difference between Duration::modulo() and the remainder returned by Duration::dividedInto(). For a positive duration of 3 hours and 35 seconds divided by 1 hour, both methods return a remainder of 35 seconds. For the negated duration, modulo() returns a positive remainder (59 minutes and 25 seconds), while dividedInto()->remainder preserves the sign of the original duration and returns −35 seconds.

ALT The League\Uri\Modifier class wraps any URI object and perform the correct modification on the wrapped URI. Once all the modification are applied you can access the changed URI using the Modifier::unwrap() method. The class will always return an URI of the same instance of the one you give to the `wrap` method.

ALT All the current named constructors are being deprecated and replaced by 2 simple named constructors that are easier and more powerful to work with. For instance Reader::createFromString is replaced by Reader::fromString and all the other methods are replaced by the more easy to use Reader::from.

ALT You load a CSV written in french iso-8895-15 and using the ";" as delimiter You first load the CSV document. Then using the stream feature you convert on the fly the document into UTF-8 using mb_string extension. You convert and store the CSV document as a NDJson file using a list with a header. Last but not least you convert the strings into integer where it makes sense using the JsonConverter formatter capabilities.






