KNP Labs

KNP Labs “We offer Quality Development services for your Symfony project.” We only hire and train passionate developers: be sure that they will care about your code!

The KNP Labs agency was started in 2009 by developers for entrepreneurs, CTOs and communication agencies all over the world. Our goal is to help you make your Symfony2 project a success thanks to our experience with it − both in commercial and open-source projects.

New Blog Post: Composer 2.9 Automatic Security Blocking: Fireside Chat 📦 🔒 🔥
23/12/2025

New Blog Post: Composer 2.9 Automatic Security Blocking: Fireside Chat 📦 🔒 🔥

Composer 2.9 turns security the next level

Symfony Bundle Development  #36:Final chapter! Let's top things off with a Symfony Flex recipe that gives our bundle a c...
11/12/2025

Symfony Bundle Development #36:
Final chapter! Let's top things off with a Symfony Flex recipe that gives our bundle a clean, friction-free installation experience.

We left off with this gross user experience when installing our bundle in a Symfony application. Let's create a Symfony Flex recipe to improve this! The recipe will add the required "Translation" entity, and configure it

Symfony Bundle Development  #35:Publish or perish... Let’s add our bundle to Packagist and tag a 1.0 release! 🚀
09/12/2025

Symfony Bundle Development #35:
Publish or perish... Let’s add our bundle to Packagist and tag a 1.0 release! 🚀

Our bundle is now hosted on GitHub and our continuous integration with GitHub Actions is green! To make it installable via Composer, we need to publish it on Packagist. You won't be able to follow along with this part - we don't want to flood Packagist with duplicates of our bundle

Symfony Bundle Development  #34:Time to go public! We’ll add a GitHub Actions workflow for tests, static analysis, and c...
08/12/2025

Symfony Bundle Development #34:
Time to go public! We’ll add a GitHub Actions workflow for tests, static analysis, and coding standards, then create a fresh GitHub repo for our bundle and watch our CI spring to life. 🤞

At long last, it's time to share our bundle with the world! First though, we'll add the configuration needed for GitHub Actions to run our tests, static analysis, and verify our coding standards. In our bundle root, add the following directory and subdirectory: "

Symfony Bundle Development  #33:We’ve got tests, but it’s time to add another superpower: PHPStan! Static analysis helps...
05/12/2025

Symfony Bundle Development #33:
We’ve got tests, but it’s time to add another superpower: PHPStan! Static analysis helps reveal sneaky issues your test suite might miss - let's dig in!

While *tests* verify your code works as expected by running it, *static analysis* examines your code without executing it. This helps catch potential issues that tests might miss

Symfony Bundle Development  #32:With code and tests locked in, it's time to give our bundle a little polish 💅 — add meta...
04/12/2025

Symfony Bundle Development #32:
With code and tests locked in, it's time to give our bundle a little polish 💅 — add metadata, clean up docs, tidy exports, and bring in consistent, automated code styling with PHP CS Fixer.

Bundle coding is done, and tests are passing on all our supported Symfony versions. We're on the home stretch! # # License File Let's add a license file to our bundle

Symfony Bundle Development  #31:Bundles don't get to be picky about their dependencies. So, let's widen those constraint...
03/12/2025

Symfony Bundle Development #31:
Bundles don't get to be picky about their dependencies. So, let's widen those constraints and take our test suite on a tour of Symfony versions - including the wild, un-housebroken dev builds.

It's time to nail down the PHP and package dependency versions our bundle supports. # # Adding PHP Version Requirement If we look at our bundle's "composer

Symfony Bundle Development  #30:Leveling up! 🚀 Let’s upgrade our bundle's integration test to use the object translator ...
02/12/2025

Symfony Bundle Development #30:
Leveling up! 🚀 Let’s upgrade our bundle's integration test to use the object translator service - full entities, real database, the whole deal.

Time to change this integration test stub into a proper test for our bundle. We're going to use a real database and real entities for this! Over in the terminal, install Zenstruck Foundry to help us manage our test database and fixtures: """terminal symfony composer require --dev ze...

We don’t do sales often. In fact...🎉 This is our ONE sale of the entire year.Get 40% OFF SymfonyCasts (yes, even if you’...
27/11/2025

We don’t do sales often. In fact...
🎉 This is our ONE sale of the entire year.
Get 40% OFF SymfonyCasts (yes, even if you’re already subscribed).
Go learn something awesome!

PHP and Symfony Tutorial Screencasts - with free videos, scripts, and code downloads!

Let's gooo   Amsterdam! Come by our booth to grab some socks 🧦 and swag!
27/11/2025

Let's gooo Amsterdam! Come by our booth to grab some socks 🧦 and swag!

We're so excited for   tomorrow! 🚀
26/11/2025

We're so excited for tomorrow! 🚀

We’ve got unit tests, which is fantastic - but nothing beats integration tests that spin up a real Symfony app and show ...
26/11/2025

We’ve got unit tests, which is fantastic - but nothing beats integration tests that spin up a real Symfony app and show our bundle hard at work. 👷🏽👷‍♀️

We have our bundle's unit tests working - now for something a bit more complicated: integration tests. These tests will use the full Symfony service container, just like in a real application

Adresse

8q Rue Emile Péhant
Nantes
44000

Notifications

Soyez le premier à savoir et laissez-nous vous envoyer un courriel lorsque KNP Labs publie des nouvelles et des promotions. Votre adresse e-mail ne sera pas utilisée à d'autres fins, et vous pouvez vous désabonner à tout moment.

Partager