Laravel Status Quode Quiz
April 20, 2026
Laravel has a set of conventions and patterns, sometimes invisible, that guide how you’re meant to write code, what’s commonly known as “the Laravel way.” Most of these aren’t enforced through strict rules; they live in the default behavior of the framework itself, acting as natural guides for anyone picking it up.
I call this implicit layer The Status Quode: the unwritten rules, naming patterns, and structural defaults that make a codebase feel predictable. Laravel manifests its Status Quode through its documentation (which consistently models certain patterns), its make: commands stubs (which generate convention-following boilerplate), its default “guess” behavior (where table names, foreign keys, and relationships are inferred without configuration), and tools like Laravel Pint (which bakes style decisions into a formatter).
The Quiz
How well do you actually know Laravel’s Status Quode? Below is a quiz with 13 questions across different categories testing your knowledge of these conventions and defaults. Pick an answer—it locks immediately, and you’ll see the explanation behind it.
Your score is saved in your browser, so you can come back where you left off.
How do you name the route for POST /photos?
How do you name a middleware that denies access if the user's email is not verified?
How should test methods be named?
Where does this test live?
// A test that stores a photo:
$user = User::factory()->create();
$this->actingAs($user)
->post('/photos', [
'title' => 'Sunset',
'url' => 'https://example.com/sunset.jpg',
])
->assertRedirect('/photos');
$this->assertDatabaseHas('photos', ['title' => 'Sunset']);
What is the pivot table name for a many-to-many between User and Role?
An Article is written by a User.
users |
articles |
|---|---|
| id, name | id, title, content |
What do you name the foreign key on articles?
What do you name the migration for this operation?
Schema::table('users', function (Blueprint $table) {
$table->string('avatar')->nullable()->after('password');
});
What is the expected table name for a BlogPost model?
What is the class name for an event fired when an order is shipped?
How do you name an Artisan command that sends invoices to customers?
Where do you place a trait that adds HasTimestamps behaviour to multiple Eloquent models?
Your application needs to create an Order. Where does that logic live?
How do you access the cache in a Laravel controller or service class?