Building a Phonegap app with Laravel and Angular - Part 2
In this lesson, the initial scope of the app will be extremely simple. We will implement functionality that: Allows users to log in and out Displays the home page That’s fairly simple, and easily...
View ArticleBuilding a Phonegap app with Laravel and Angular - Part 3
Apologies for how long it’s taken for this post to appear. I’ve got a lot on my plate at present as I recently started a new job, so I haven’t been able to devote as much time to this series as I’d...
View ArticleCreating an Azure storage adapter for Laravel
UPDATE: This post has now been superseded by this one as I’ve released this integration as a package. About a year ago I was working on my first non-trivial Laravel application. The client had, for...
View ArticleBuilding a Phonegap App with Laravel and Angular - Part 4
In this instalment we’ll return to the back end. What we’ve done so far is typical of the kind of proof of concept we might do for a client early on, before going back and implementing the full set of...
View ArticleEasy static asset versioning in PHP
It’s prudent to cache static assets such as images, Javascript and CSS to improve performance, but that raises the issue of changes not being reflected in your site due to visitor’s browsers retaining...
View ArticleTesting Laravel Middleware
It’s widely accepted that high-level integration tests alone do not make for a good test suite. Ideally each individual component of your application should have unit tests, which test that component...
View ArticleIntegrating Behat with Laravel
The Gherkin format used by tools like Cucumber is a really great way of specifying how your application will work. It’s easy for even non-technical stakeholders to understand, it makes it natural to...
View ArticleMy first Laravel package
For some time now I’ve had a Laravel middleware I use extensively to add ETags to HTTP requests. I often use it for work projects, but obviously copying and pasting it all the time was a pain. I always...
View ArticleDecorating Laravel repositories
As mentioned previously, when building any nontrivial Laravel application, it’s prudent to decouple our controllers from the Eloquent ORM (or any other ORM or data source we may be using) by creating...
View ArticleEnforcing a coding standard with PHP CodeSniffer
We all start new projects with the best of intentions - it’ll be clean, fully tested and work perfectly. Sadly as deadlines loom, it’s all too easy to find yourself neglecting your code quality, and...
View ArticleSnapshot test your Vue components with Jest
At work I’ve recently started using Vue as my main front-end framework instead of Angular 1. It has a relatively shallow learning curve and has enough similarities with both React and Angular 1 that if...
View ArticleProfiling your Laravel application with Clockwork
If you’re building any non-trivial application, it’s always a good idea to profile it to find performance problems. Laravel Debugbar is the usual solution for profiling Laravel web applications, but it...
View ArticleRun your tests locally with Sismo
Continuous integration is a veritable boon when working on any large software project. However, the popularity of distributed version control systems like Git over the older, more centralised ones like...
View ArticleMaking internal requests with Laravel
Recently I’ve been working on a Phonegap app that needs to work offline. The nature of relational databases can often make this tricky if you’re dealing with related objects and you’re trying to...
View ArticleInstalling Nginx Unit on Ubuntu
Recently Nginx announced the release of the first beta of Unit, an application server that supports Python, PHP and Go, with support coming for Java, Node.js and Ruby. The really interesting part is...
View ArticleA generic PHP SMS library
This weekend I published sms-client, a generic PHP library for sending SMS notifications. It’s intended to offer a consistent interface when sending SMS notifications by using swappable drivers. That...
View ArticleSimple fuzzy search with Laravel and PostgreSQL
When implementing fuzzy search, many developers reach straight for specialised tools like Elasticsearch. However, for simple implementations, this is often overkill. PostgreSQL, my relational database...
View ArticleUsing phpiredis with Laravel
Laravel has support out of the box for using Redis. However, by default it uses a Redis client written in PHP, which will always be a little slower than one written in C. If you’re making heavy use of...
View ArticleAn Azure Filesystem integration for Laravel
My earlier post about integrating Laravel and Azure storage seems to have become something of a go-to resource on this subject (I suspect this is because very few developers actually use Laravel and...
View ArticleCatching debug statements in PHP
It’s unfortunately quite easy to neglect to remove debugging statements in PHP code. I’ve done so many times myself, and it’s not unknown for these to wind up in production. After I saw it happen again...
View Article