Day 4: Creating a Form

Day 4: Creating a Form Summary Wednesdays are usually pretty busy for me since I go to church after work and don’t get home until very near the kids bedtime so I decided to break today into 2 sessions. Going into session 1 I had the following goals: Set up the “Landlord” controller Create the route Ensure the Site model works with User relationship Work Session 1 Using php artisan again I created the SiteController controller. Not to be confused with Tenant\SiteController that I created yesterday. ...

January 14, 2026

Day 3: Tenant Aware Routing

Day 3: Tenant Aware Routing Summary Going into today’s session I had the following goals: Middleware correctly pulls sudomain from host string Middleware throws 404 if no slug in database Navigating to mountainlotus.rhizomecms.test displays site name As part of the setup I added some test domains to /etc/hosts so I could work with them and not have to mess with a dns server. 1 2 3 127.0.0.1 rhizomecms.test 127.0.0.1 mountainlotus.rhizomecms.test 127.0.0.1 another-site.rhizomecms.test The Work Session Using php artisan again I created the IdentifyTenant middleware. ...

January 13, 2026

Day 2: Models & Migrations

Day 2: Models & Migrations Summary Going into today’s session I had the following goals: Create a Site model Create a sites table that can be “owned” by a user Create a site belonging to a user I referenced the Laravel migrations doc at laravel.com/docs/12.x/migrations and asked Gemini a few clarifying questions when I ran into issues that I couldn’t quickly find an answer to. I was also aquainted with php artisan today, and it feels very much like working with Ruby on Rails scaffolding. ...

January 12, 2026

Day 1: Scoping a Multi-Tenant CMS

Phase 1: Prep Day (Day 1) 1. Pick your poison Learning Laravel. I haven’t actively used php on purpose for anything since Late php 4/Early php 5. I want to jump back in and refresh my php skills so I plan to do so by learning the Laravel framework. ...

January 10, 2026