Applying consistent capitalisation rules to the titles on your website can be a pain. Entitle makes it easy.

Last week, Snipcart interviewed me as part of their Geek Talk series. In this wide-ranging exposé, we cover such thrilling topics as my favourite programmer and favourite quote, and we even find time to discuss some developer-type things.

One approach I find useful when developing Craft plugins is to think of the plugin as a client of its own API.

Not only does this force me to concentrate on the core functionality of the plugin right from the get-go, it also changes my perspective on what a plugin actually is.

Dependency conflicts between Craft plugins are a thorny problem. Read on for a description of the problem, and some options for dealing with it.

When writing a Craft plugin, you should be very selective about what you put in your service classes.

This advice appears to run contrary to the guidance given in the official Craft documentation, and keeping your plugin code in service classes is certainly preferable to keeping it in your controller of variable classes. But it’s still a bad idea.

Here’s why.

If you’re developing a reasonably sophisticated Craft plugin, chances are you’ll have a lot of class files which don’t really fit into the “standard” Craft plugin sub-directories of models, records, and so forth.

In this situation, you need a way to easily loading your “non-standard” classes as-and-when they’re required. PSR-4 autoloading is the perfect solution to this problem, and by the end of this article you’ll know everything you need in order to use it in your plugins.

Today I’m very pleased to announce the release of our first Craft ebook: The Definitive Guide to Craft Validation for Plugin Developers.

It provides a complete guide to validation in Craft 2, all the way from the high-level concepts, right down to the nuts and bolts of implementation.

Need to validate a zip code in Laravel? Here’s a very simple custom validator class which does exactly that.

Today, we’re proud to release Glossary, a new Craft plugin.

Glossary makes it easy to implement a list of entries, grouped by X and ordered by Y. For example:

  • A list of staff members, grouped by the first letter of their surname, and ordered by forename;
  • A list of countries, grouped by continent, and ordered by population;
  • A list of recipes, grouped by cooking method, and ordered by cooking time.

It’s possible to achieve all of the above using Twig, but the result is messy and difficult to test.

Glossary keeps your templates neat, and has a suite of unit tests to ensure everything runs smoothly.

One of Craft’s many pleasant surprises is its support for the standard “save” keyboard shortcut. Even better, Craft makes it trivially easy to add this functionality to your own plugin forms.