Why Tests? Explained for Management
For business leaders: why testing matters for ROI, risk reduction, and agility explained in management language with numbers and real case studies.
SensioLabs Stories
SensioLabs Stories is a blog that gathers articles from experts, tutorials, and the latest news from SensioLabs, the creator of Symfony. Focused on PHP, Symfony, and development, it's a key resource for following the latest trends.
For business leaders: why testing matters for ROI, risk reduction, and agility explained in management language with numbers and real case studies.
Code review is an essential step in the software development cycle. It improves code quality, reduces bugs, and encourages knowledge sharing within the team. GitLab and GitHub, two of the most popular code management platforms, offer advanced features to facilitate this process. This article covers the various types of code reviews, how to organize them, and how to use templates and checklists to make PRs (pull requests) more efficient.
A new building block has been added to the Scrum Guide to enrich it! Does it offer real value, or is it just window dressing? Read on to find out in this article written by one of our experts.
Time flies, especially when you're busy shaping the future of development! The SensioLabs team has just reached a milestone with the anniversary of the Symfony framework. We marked the occasion at the office, but the party isn't over yet. The date is already set for an XXL celebration at SymfonyCon Amsterdam 2025, from November 27 to 28.
PHP 8.5 introduces a powerful new URI extension that modernizes URL handling. With support for both RFC 3986 and WHATWG standards, the new Uri class provides immutable objects, fluent interfaces, and proper validation - addressing all the limitations of the legacy parse_url() function. This guide shows practical before/after examples and explains when to use each standard.
We’ve all done it — added target="_blank" to a link to “help users” stay on our site. But what feels like a harmless convenience often creates confusion, breaks accessibility, and introduces hidden security risks.
Break free from rigid dependencies in your PHP SDKs. Learn how to use PSR-7, PSR-17, and PSR-18 standards along with php-http/discovery to allow users to bring their favorite HTTP client, whether it's Guzzle, Symfony HttpClient, or another. A must-read for PHP and Symfony developers.
Scrum is often seen as the obvious framework for structuring and energizing product development, especially digital products. However, its adoption doesn't automatically guarantee success. So, what does Scrum really enable? More importantly, what are the conditions necessary for its effectiveness? And, above all, what pitfalls should be avoided to ensure it becomes a real asset?
Asynchronous processing offers benefits like decoupled processes and faster response times, but managing message priorities can become a challenge. When dealing with tasks ranging from password resets to complex exports, ensuring timely delivery of critical messages is essential. This article explores common asynchronous processing issues and provides solutions using Symfony Messenger, allowing you to optimize your application without extensive refactoring.
Take your Symfony proficiency from good to great with the new Level 3 training course at SensioLabs! Master complex topics, optimize performance, and become a Symfony expert.
PHP 8.5 will be released in November 2025 and brings several useful new features and improvements. This version focuses on developer experience enhancements, new utility functions, and better debugging capabilities.
Boost your Symfony app's performance and developer experience! Learn how to use Service Subscribers and traits for lazy service loading to reduce eager instantiation, simplify dependencies, and create modular, maintainable code.
HTTP Verbs Explained: Learn the basics of GET, POST, PUT, DELETE, and more. This article explains how they work, their applications, and their security implications.
What does Symfony training at SensioLabs look like? Find out in this interview with Guillaume Loulier, a passionate developer and trainer, who tells us all about the official Symfony training courses.
AI is transforming web development — and with php-llm/llm-chain, PHP developers can easily add powerful LLM features to Symfony apps. This guide shows you how to get started with chatbots, smart assistants, and more.
Zenstruck Foundry has revolutionized the way we write tests in Symfony. In this post, you’ll learn how expressive factories, isolated test data, and a smoother developer experience helped us streamline our testing workflow and boost productivity.
Discover when to rewrite legacy PHP applications from scratch versus incrementally refactoring them. Learn practical strategies for modernizing outdated codebases while maintaining business continuity.
On March 27th and 28th, the French-speaking Symfony community gathered at the Cité Internationale Universitaire de Paris for another edition of SymfonyLive Paris. This year, in addition to inspiring conferences, great workshops and community time, Symfony enthusiasts kicked off the official celebration of Symfony's 20th anniversary.
Learn how to apply Domain-Driven Design (DDD) principles in Symfony with practical examples. Discover the power of value objects, repositories, and bounded contexts.
What about Symfony and Artificial Intelligence (AI)? This was the theme of the exclusive event organized by SensioLabs in partnership with Codéin on October 3rd. With the added bonus of feedback from a development project combining Symfony and AI. If you missed the event, check out the video now available for free on our Youtube channel.
2025 is going to be a big year for anniversaries. We will be celebrating the 20th anniversary of Symfony, the 30th anniversary of PHP, the 25th anniversary of AFUP and the 10th anniversary of API Platform. For SensioLabs, this is a major milestone that proves the longevity of the technologies in our ecosystem. We are proud to celebrate these anniversaries with the community all year long.
On March 17th, the Symfony community met in Chicago for SymfonyDay Chicago 2025. The event, held on St. Patrick's Day, was both a celebration of Symfony and a moment to support Ryan Weaver in his fight against cancer. It was more than just a conference — it was a gathering around a valued member of the community.
If you want to become a good PHP developer, you must learn to work with arrays. Arrays are used a lot in PHP: temporarily store, organize, and process data before it's saved in a database. Knowing how to work with them efficiently will help you manage and process data more effectively.
This article explores the DRY (Don't Repeat Yourself) principle and its impact on code quality. While emphasizing its importance in avoiding repetition and facilitating maintenance, it highlights the risks of excessive application of this principle, which can be detrimental to clarity and project evolution. The aim is to strike the right balance between reuse and simplicity.
Learn how to enhance type safety in Symfony and Doctrine by using dedicated ID classes like BookId and UserId instead of raw UUIDs. This approach prevents identifier mix-ups, improves code clarity, and ensures better integration with Symfony Messenger and repository methods. Explore practical examples and best practices for implementing type-safe identifiers in your Symfony applications.
Agility is more than just rituals and tools. In this first article of our Scrum series, we explore the Cargo Cult phenomenon and how blind imitation can hinder true Agile transformation.
SemVer ensures stability for libraries, while CalVer aligns projects with release cycles. Learn the key differences and best use cases to optimize your versioning strategy.
Discover PIE, the new PHP Installer for Extensions, a modern tool that simplifies managing PHP extensions with a Composer-like workflow. Say goodbye to PECL complexities and streamline your development process with PIE.
This site uses cookies and gives you control over what you want to activate. Read the Privacy Policy