How to use actions to organize your logic in an amazing way

We’ve all been there, you need to create some new functionality for your application, but you dont know where to put it. I used to create several service classes based on the entities in my application. For example I usually create a UserService which contains all logic related to my User entity. But what if I need to implement functionality that spans multiple entities? Where do I put that functionality? After seeing a talk by Luke Downing at Laracon Online Winter ’22 called ‘Actions are a dev’s best friend’ I’ve found my solution: the action paradigm.

Continue Reading “How to use actions to organize your logic in an amazing way”

My first SaaS

As a professional webdeveloper I’ve created a lot of different applications for many different customers. Most of those applications had one thing in common, they needed to process data from external systems and perform some action of that data. This process mainly consists of importing the data, manipulating it and storing it before processing. It can be really tedious to build scripts to import, manipulate and store the data, that’s why I’ve been working on a SaaS application in my spare time to make this easier for other developers.

Continue Reading “My first SaaS”

Using the Pest testing framework in Symfony

Testing your code is very important as a software developer. It not only helps you prevent bugs when you’re adding or changing features, but a good test suite also gives you and your customers a lot of confidence in the stability of the product.

Testing in Symfony is fairly easy using the symfony/phpunit-bridge package. You’ll write classes containing your tests and run them, no problem. But creating the classes adds a lot of boilerplate code. What if I told you it’s possible to get rid of a lot of boilerplate code and have a nice and elegant way of writing your tests as if you’re writing an English sentence? This is where Pest comes in!

Continue Reading “Using the Pest testing framework in Symfony”