A while ago I wrote a blog post on setting up continuous integration for Laravel with Jenkins. That was for Laravel 4, and many things have happened since. In this post I widen the scope and aim for continuous integration (CI) for PHP applications in general. Applications are looking more and more similar to one another in terms of structure and tooling, which allows for a more general approach to them. Jenkins & PHP work perfectly together and Jenkins is a great tool if you want full control of your CI process since everything is open source and it has a huge and active community.

Jenkins is an open source continuous integration server that is a swiss army knife. CI is the process of performing static code analyses and running tests for an application on a regular basis, often on a push to a repository. Jenkins will poll that repository for changes and as soon as anything happens it will pull down the changes and perform all specified tasks. It’s also possible to allow Jenkins to listen to incoming webhooks for triggering updates. The kind of analysis to be performed is up to each application, but generally you look for errors, run tests, run static analysis tools and then have Jenkins generate a nice visual report for looking at the results.

Continue reading

Pagination is something most web developers deal with from time and time. You can create a simple pagination in PHP in many ways. There are a few things to keep track of when creating a pagination though. Fetching and parsing data, items per page, current page, number of pages, which pages to show and so on. Using a tried and tested package instead of writing your own implementation is often the way to go. Laravel provides the great package illuminate/pagination for pagination that you can use. This package is not depending on the framework in any way.

Continue reading

With the large number of frameworks that exists today, picking the right one for your next project can feel overwhelming. To make things easier for you when choosing your PHP micro framework, I want to take an in-depth at the available micro frameworks that you can build your next REST API with. I’ll try to make a fair and unbiased review of them based on their pros and cons. I’ll not be discussing on how you should build your API, I leave that to Phil Sturgeon and I can’t recommend his excellent book, Build APIs You Won’t Hate, enough.

Continue reading

Programming is hard work where you solve problems and try to manage complexity. Can you honestly say that you take measures for keeping your mind fresh? Keeping your body active through exercise is a great benefit for your mind, but I would like to talk about an exercise for your mind with benefits for your body also. This is of course not just for developers, but this is a blog aimed at developers. We live in a stressful world where our mind is bombarded with impressions that our mind is usually terrible at dealing with, so we need a tool to help our mind cope with this. The great part is that it will benefit your life in general and not just your work as a developer.

Continue reading

Yet another post on summing up the first year of working remote. But I hope it can inspire someone out there, or give someone some clue to what it’s like and where the great parts are and possible hidden pitfalls. I’m not saying it’s for everyone since I know plenty of people who like the idea of having a clear distinction between work and home. But for me it works and I probably never want to go back.

Continue reading