Hey, need help with your Magento, WooCommerce or Laravel project? I have some availalility. Contact me.

Let's talk about code

Hi, I’m Michiel. I’m a professional programmer for more than a decade. I work mostly in PHP and javascript, mainly in Magento and Laravel. I write testable code and love to give testing workshops to you and your colleagues. You can hire me for freelance/consulting jobs.

Contact me Hire me

Blog

Continuous Integration, Integration test, Magento 2, Magento 2 testing, Open source

Revive your Magento integration tests

In my day to day job as a freelancer i get to work on quite a few different Magento setups. Now as i try to practice Test Driven Development (TDD) wherever i can, i kept hitting the same bump in the road: when you have an installation that is around for some time, there is a big chance that the integration test setup is broken.
Composer, Laravel Nova, Laravel, Open source

Introducing Laravel Email on Event

Recently i was working on a Laravel project and i needed to add some sales emails: Onboarding when someone registers, an e-mail when an order was placed. That kinds of things.
Laravel, Testing, Queue

Testing jobs in Laravel

Recently someone in a Slack channel i’m a member of asked the following:I want to test if job A fires job B, but how do you test something like that?Niek ten HoopenEspecially when the queue is set up to be run asychronus this seems impossible to test. The normal flow would be something like this:
Composer, Continuous Deployment, GIT, Valet Plus+, WordPress

Manage WordPress using Composer

It took me a while before i finally found the right combination, but i now have a full working setup where is manage my WordPress dependencies using Composer. Before this i used to have a local copy of my WordPress site where i run all updates, and then committed all code that was changed so i could get deployed. I knew this was dirty, but i've tried on multiple occasions to find a better solution but my Google fu failed me.
Magento 2, Quick Tip

Retrieving orders using the Magento 2 API

Recently i had to fetch order information using the Magento 2 API, and to be more specific: The latest orders with a specific status. This turned out to be a bit harder than i initially expected. Magento has some pretty good documentation on this subject, but i still needed a little bit tinkering to get the right result.
Magento 2, Layout XML, Quick Tip

Conditionally hide or show a block in Magento 2

Somehow i only found about this little gem only recently. In your layout xml you can use the ifconfig parameter to hide or show block depending on your configuration. It works as following.
Continuous Integration, Integration test, Magento, Magento 2, Testing

Debugging the Magento 2 integration test setup

You might have been at the same point where i have been a few times: You want to start with integration tests on an existing Magento 2 store. You follow the steps to setup your IDE, start the first test and wait. After a while you get one of these nasty non descriptive errors:
Freelancing, Shopify, Laravel

My Shopify app got approved!

So in a previous blogpost i already told that i was working on my own product. Well this is a Shopify app and last Friday it finally got approved to their app store. In the blogpost from januari i thought it would released within a few weeks, but it took a bit longer. This was on one hand due to having to wait for the Shopify approval process, on the other side due to lack of time from my side. But it's finally here.
Cloudflare, Laravel, Laravel Forge, WordPress

Wordpress, Cloudflare & Laravel Forge

This always bites me when setting up a Wordpress site on Laravel Forge: You get a redirect loop. This article is therefor mostly written for myself.
Controller, Magento 2, Quick Tip

Download a file in a controller in Magento 2

Today i had to create a file download from a Magento 2 controller. I turnes out that this is quite simple. Now, it's good to know that there are 2 options here.