Romain Canon's Avatar

Romain Canon

@romain-canon.com

🐘 PHP developer, OSS enthusiast. https://github.com/romm/ https://mastodon.social/@Romm https://x.com/Rommsteinz

63
Followers
171
Following
53
Posts
03.11.2023
Joined
Posts Following

Latest posts by Romain Canon @romain-canon.com

Thanks you @mopolo.dev for helping out!

23.02.2026 08:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

🚚 The `.io` domain names have become really expensive over the past couple of years, so I’ve decided to move the #PHP Valinor documentation from valinor.cuyz.io to valinor-php.dev

23.02.2026 08:03 πŸ‘ 0 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
Release 2.3.2 Β· CuyZ/Valinor Notable changes End of PHP 8.1 support PHP 8.1 security support has ended on the 31st of December 2025. See: https://www.php.net/supported-versions.php Removal of composer-runtime-api package depen...

πŸ”” #PHP object-mapper library Valinor v2.3.2 released!

Mainly a bug-fix release, with 2 notable changes:

- End of PHP 8.1 support (support ended in December 2025)
- Removal of `composer-runtime-api` requirement, making this library completely dependency free. πŸŽ‰

github.com/CuyZ/Valinor...

23.01.2026 15:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Coucou Lille, on se voit le 22 mai pour parler de tests ? πŸ€—

07.01.2026 08:25 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Just updated my profile picture, after more than a decade with the old one everywhere on the web! It feels weird but refreshing πŸ˜…

18.12.2025 12:47 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

And now @packagist.com πŸ”₯

Thank you so much for sponsoring my work and placing trust in my humble contribution to the PHP ecosystem! πŸ™

20.11.2025 13:25 πŸ‘ 4 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - CuyZ/Valinor: PHP library that helps to map any input into a strongly-typed value object structure. PHP library that helps to map any input into a strongly-typed value object structure. - CuyZ/Valinor

✨ Thank you @pscheit.bsky.social for the generous sponsoring, which allows me to spend more time on Valinor! OSS community is the best! πŸš€

github.com/CuyZ/Valinor...

20.11.2025 09:51 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 1
Post image
19.11.2025 17:17 πŸ‘ 2950 πŸ” 1207 πŸ’¬ 16 πŸ“Œ 21
Test output before Symfony 7.4

Test output before Symfony 7.4

Test output as of Symfony 7.4

Test output as of Symfony 7.4

As of #Symfony 7.4, functional tests’ error rendering will finally get you straight to the point with a beautiful, concise output πŸ₯³ Especially useful when doing large refactorings that make dozens of such tests fail while progressing.

Before/After πŸ‘‡

25.10.2025 12:13 πŸ‘ 22 πŸ” 7 πŸ’¬ 4 πŸ“Œ 0

We've already had really interesting feedback πŸ”₯

I just added a new option E to the poll (explanation is in the thread) β€” I'd love to have more feedback on how you handle your HTTP requests; Help us making it easy to map a request's values to your controllers!

github.com/CuyZ/Valinor...

20.10.2025 12:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Mapping HTTP request parameters using Valinor for type-safe controller calls Β· CuyZ Valinor Β· Discussion #736 I've lately been working on native HTTP request mapping, provided out of the box by this library. The goal is to ease the validation and mapping of the HTTP request's parts β€” query parameters, (rou...

πŸš€ Mapping an HTTP request to a controller using Valinor will soon be a thing!

But before that, I need help and feedback from people β€” I'd love if you could read and vote on this discussion:

github.com/CuyZ/Valinor...

Thanks a lot! πŸ™

(RT for reach? πŸ₯Ή)

16.10.2025 15:43 πŸ‘ 1 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
Release 2.2.1 · CuyZ/Valinor ⚠️ Important changes ⚠️ This release contains a lot of internal refactorings that were needed to fix an important bug regarding converters. Although we made our best to provide a stable release, bu...

πŸ”” #PHP object-mapper library Valinor v2.2.1 released!

This version is sponsored by @elias.haeussler.dev who sent a generous donation ❀️

A huge effort was spent to fix a nasty bug, this *could* break your app if you use converters β€” please read release notes carefully:

github.com/CuyZ/Valinor...

13.10.2025 07:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Mérité à peu près à 1000%

10.10.2025 18:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
People on stage talking about PHP

People on stage talking about PHP

@dunglas.dev, @nicolasgrekas.bsky.social, @asgrim.dev and Gina Banyard talking about PHP, its future and @thephpf.bsky.social 🐘

Thank you @afup.org for this amazing event!

10.10.2025 12:32 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

In four days at #ForumPHP, I’ll explain how to never run out of clean socks.

(and, incidentally, how to handle #Symfony deprecations)

06.10.2025 09:04 πŸ‘ 10 πŸ” 6 πŸ’¬ 0 πŸ“Œ 0

Baptiste Langlade ❌
⬇️
Baptiste Monade βœ…

03.10.2025 21:49 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

It will be awesome no matter what!

03.10.2025 21:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The signature of the `map` method defines when the mapper uses it, so this can not be enforced by an interface.

String to string? `function map(string $value): string`
String to int? `function map(string $value): int`

The signatures depend on the usage. 😊

23.07.2025 19:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Valinor β€’ PHP object mapper with strong type support PHP library that helps to map any input into a strongly-typed value object structure.

…and endless other possibilities! πŸŽ‰

Want to know more about converters? Check out valinor.cuyz.io/2.1/how-to/c...

Want to see more examples? Check valinor.cuyz.io/2.1/how-to/c...

Want to use attribute converters? `composer update cuyz/valinor` πŸ˜‰

Release notes: github.com/CuyZ/Valinor...

Enjoy!

23.07.2025 12:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Keys renaming converter example

Keys renaming converter example

Keys coming from the input may differ from the target object properties and
need to be renamed before mapping the values to the object.

With the following converter example, keys will be renamed properly:

23.07.2025 12:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Explode converter example

Explode converter example

When dealing with input data that is a string representation of an array, for instance a comma-separated list, a converter attribute can be used to convert the string into a list:

23.07.2025 12:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Boolean conversion converter example

Boolean conversion converter example

First example: boolean conversion. Values such as 'yes'/'no' can be used in malformatted external APIs, and need to be converted to a boolean value.

This can be achieved by creating a custom converter that will convert these values to the expected type.

23.07.2025 12:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

No attribute converter is provided out of the box, instead we made it very easy for you to create your own, enabling fine-grained customization!

See below for examples ‡️

23.07.2025 12:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Valinor 2.1 release banner

Valinor 2.1 release banner

πŸ”” #PHP object-mapper library Valinor v2.1.0 released!

This version introduces a powerful new feature: attribute converters, which provide more granular control over the mapping of properties.

More info below ‡️

23.07.2025 12:29 πŸ‘ 1 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

Baptiste is doing great work, definitely worth taking a look at it! πŸ‘

09.07.2025 09:43 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

To end on a better note: although we have opposite opinions on this topic, thank you for your commitment to the community and everything you did and will do 😊

03.07.2025 05:53 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Buying these goodies help the AFUP association that has been around for 25 years, organizing events to promote PHP for thousands of people.

I'm a bit concerned by this public shaming when this could have been handled privately with AFUP's board. IMHO this hurts PHP more than a mug will ever do.

03.07.2025 05:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

> The only thing you transfer […] are the two words β€œPHP” and β€œdead”

That’s not the truth, that is your opinion. My opinion is that some people out there get the cultural reference, are smart enough not to only remember that β€œPHP is dead”, and think it’s cool enough to buy a t-shirt or a mug.

03.07.2025 05:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

> You get decision makers […] move entire companies to other langs cause they heard PHP may be dying

Should we blame AFUP for selling mugs, or the decision makers who are lazy enough to move to other langs based on a false supposition πŸ€”? Doesn't seem too hard to know that PHP is well alive in 2025.

03.07.2025 05:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
A mug with a logo referring to "Punk’s not dead" but "Punk" is replaced by "PHP"

A mug with a logo referring to "Punk’s not dead" but "Punk" is replaced by "PHP"

How can people not want to get such a beautiful mug β˜•οΈ

Helps me write PHP everyday!

02.07.2025 19:01 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0