v1.7.2

Ollie Read

PHP & Laravel Development

An update on what the future has in store for me and ollieread.com

It has now been just over a year since I last published an article to my site. A lot has changed in both my life, and on this site, as you’ve probably noticed by now.

The purpose of this article is to give you a glimpse into the future of ollieread.com, as well as give you some information on what I’m working on, and what I will be working on.

What have I been up to?

The last year of my life has been jam packed, primarily off the back of my daughter being born on the 1st of November 2018. I’ve been here, just had little time to work on any public content, jumping between client work and being a Dad.

A few months ago my partner, and baby mama joined my company, Sprocketbox Ltd as a director, and took on her first solo contract. She’s absolutely smashing it.

Sprocketbox

Over the past few months I made the decision to move ollieread.com to be a property of Sprocketbox Ltd, my company. The only thing this will change, besides being able to claim the tax back on ollieread.com related purchases, is that all content released by myself whether premium or open source, will be released under the sprocketbox brand. Essentially, packages will be hosted and released by the sprocketbox github organisation.

The new ollieread.com

You’ll have noticed by now that the site has had a complete overhaul, replacing the old pixelart styled design with a cleaner one. There’s still a pixelart me sprite, yes I meant sprite, hover over it.

The entire codebase was built from the ground up, all of which is available on github. The architecture of the new site is very different to the old one, sporting a modular styled approach and utilising actions and operations over controllers and repositories (I’m going to write an article about it).

While the site is still a work in progress, there are 2 notable features.

New Comment System

I was previously using Disqus, but I decided to sack that off and write my own. No more JS files injected randomly into the page. The comments support full markdown including GitHub flavoured markdown to help with users trying to debug their code.

Topics & Versions

You’ll notice that all articles now have a list of topics and versions (if they have them, admittedly this one doesn’t). This allows me to link content to specific topics and specific versions of supporting software. At the time of writing this it doesn’t do much besides display, but I’m working on the ability to filter by both of these, allowing you to find content that matches exactly what you need.

What am I working on?

Besides client work and this site, I have been working on, and will be working on, a whole bunch of content.

Courses

As you may have seen, I have been working on a course called Multitenancy with Laravel.

You may be familiar with the Kitchen Sink Academy, a subscription based course/lesson service that I announced, stupidly, not long before my daughter was born. This is still in the works, and something I’ll be jumping straight back into once I’ve finished Multitenancy with Laravel.

These are the only courses I have planned right now, but I definitely want to look into the possibility of creating more in the future.

Articles

I have a whole wall of post-it notes listing many topics that I’m going to write about. Many of these planned topics/articles will make use of a new feature I’m working on, called Article Series. This feature will let me break the articles down into smaller articles, linking together under one overarching series, hopefully making it more digestable.

In the near future I’ll be announcing a release schedule for content, with the aim to publish a new article every X days/weeks/months.

Below is a brief look at some of the articles I have planned.

Actions & Operations

A writeup on the way I approached this site, dumping the old controller and repository for something akin to command queries, but not as restrictive.

APIs with Laravel

A series covering the creation of RESTful APIs with Laravel.

Descriptive HTTP Methods
Using HTTP methods to more appropriately describe the request.

Descriptive HTTP Status Codes
Using HTTP status codes to more appropriately describe the response.

Utilising HTTP Headers
Turbocharging your API by utilising HTTP headers to their fullest potential.

Laravel Authorisation

A series exploring all of the different options for authorising users in Laravel.

RBACs
A look into role based access control and how we can implement it with Laravel. (An update of my previous article).

ACLs
A look into access control lists, specifically Laravels policies, and how we can implement them.

Bitwise Permissions
A look into how we can store a combination of up to 64 different permissions as a single 64 bit integer. (This site uses bitwise permissions)

Custom Gate
Sometimes Laravels default Gate doesn’t cut it, lets see what we can do to change that.

Design Patterns

A look into some common design patterns, from a purely PHP approach, including but not limited to:

  • Pipeline Pattern
  • Builder Pattern
  • Repository Pattern
  • Service Container Pattern
  • Singletons
  • Factory Pattern
  • Proxy Pattern
  • Facades & Service Locator Pattern

Packages

I’ve also got a number of packages in the works, for use on my own projects but also for release.

Premium

Porter
The multitenancy package.

Overseer
The Nova alternative.

Open Source

Forerunner
Improved blade components and prototyping tools.

Auth+
An overhaul of Laravels authentication system.

Eloquent+
An extension of Laravel Eloquents functionality.

Database+
Goes hand in hand with Eloquent+.

Matter
The successor to Articulate.

Contraption
A whole bunch of component packages that nicely slot together as a framework.

Have something to add?

The content I write on my site, though partly for me, is mostly for you. If there’s something in particular you’d like to see covered, something you’d like addressed, whether it’s an idea for a course, article or package, please get in touch. You can reach me on twitter @ollieread or join the discord.

Cover image by unsplash-logoMatt Wojtaś