Use Claude to Generate PHP 8.1 Enum Classes
PHP 8.1 enums are great, but you always end up writing the same boilerplate helpers every time. Claude can scaffold the full enum with labels, casts, and dropdown helpers in one shot.
Create a PHP 8.1 backed string enum called OrderStatus with cases:
pending, processing, shipped, delivered, cancelled.
Add a label() method returning human-readable strings.
Add a color() method returning a Tailwind CSS badge colour class per status.
Claude knows to use string or int backing types, can add interface implementations, and generates clean docblocks. For Laravel projects, ask for the Eloquent cast class too:
Create an OrderStatus enum as above, plus:
- A matching Eloquent cast class so I can use $casts = ['status' => OrderStatus::class]
- A static options() method returning an array suitable for a Blade select input
- A tryFromLabel() static method for importing data from CSV
You can also ask Claude to refactor existing constant-based code to use enums:
// Paste your existing constants and ask:
// "Convert these constants to a PHP 8.1 backed int enum called UserRole
// and update any switch statements I paste to use match expressions."
Stop writing boilerplate enums — describe the cases and let Claude type.
Log in to leave a comment.
Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.
Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.
Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.