Skip to main content


Daniel Phin



Daniel is a back-end Drupal developer based in Perth, Australia. He has been developing with Drupal for over 12 years.

My blog posts

Adding real-time processing to QueueWorker plugins

by daniel.phin /

Projects no longer need to rely on unpredictable processing time frames. The SM project can intercept legacy Drupal @QueueWorker items and insert them into the Symfony Messenger message bus, effectively giving existing core and contrib queue workers jobs real-time processing capabilities.

Automatic message scheduling and replacing hook_cron

by daniel.phin /

Symfony Scheduler provides a viable replacement to hook_cron wherein messages can be scheduled for dispatch at a predefined interval. Messages are dispatched the moment they are scheduled, and there is no message duplication, making tasks more reliable and efficient.

A modern alternative to Hooks

by daniel.phin /

This post introduces a completely new way of implementing Drupal hooks. You can finally get rid of your .module files, eliminating many calls to \Drupal with dependency injection in hooks.

Introducing Scheduled Transitions

by daniel.phin /

Scheduled Transitions is a module allowing you to schedule a specific previously saved revision to move from one state to another. This post provides an introduction to Scheduled Transitions for Drupal 8.