Yonel Ceruto
banner
yceruto.bsky.social
Yonel Ceruto
@yceruto.bsky.social
Developer experience engineer. PHP & Symfony expert and consultant. @Symfony Core Team member.
This unlocks new possibilities, your input models can now hold logic. For example, you can add a method in your input class and mark it with `#[Interact]` to ask for required args.

Yes! you can finally use `$this` instead of `$input->getArgument()` and `$input->setArgument()`.

#Symfony #PHP #DX
November 9, 2025 at 2:36 PM
Symfony 7.4 brings a cleaner way to define console inputs: command arguments and options can now be mapped directly to PHP classes and enums using attributes like `#[MapInput]`, `#[Argument]`, and `#[Option]`.

Type-safe, structured input for your CLI commands 🎉🍕🥓
#Symfony #PHP #DX
November 9, 2025 at 12:48 PM
FormFlow covers most multistep form scenarios out of the box, from simple wizards to complex workflows, yet remains fully flexible for advanced customization when you need deeper control.

The controller:
October 27, 2025 at 9:40 AM
FormFlow is not a standalone component, it’s seamlessly integrated into the Form component, preserving the same familiar patterns and workflow you already know from Symfony forms.

The form type:
October 27, 2025 at 9:40 AM
FormFlow support for multistep forms has landed in Symfony 7.4, complete with a demo project and plenty of examples 🧵

Eager to see how others will build upon it and what new use cases emerge 🤓

Huge thanks to all reviewers and contributors who helped refine it! ❤️‍🔥
October 27, 2025 at 9:40 AM
Testing? Now it's almost too easy. Feels illegal. #Symfony #PHP #CLI
April 24, 2025 at 1:20 AM
Yes, you can use the new __invoke() with input attributes and still extend Command class to override interact() or initialize() methods. No tradeoffs. Just clean DX 💅 #Symfony #PHP #CLI
April 23, 2025 at 11:43 PM