News

Laravel 12.2 Introduces Custom Starter Kits

Published
Laravel 12.2 Introduces Custom Starter Kits image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released v12.2.0, including a ddBody() test response method, support for a singular model through a HasManyThrough, increment, decrement context keys, and more.

In addition to the v12.2.0 release, the Laravel Installer now supports community starter kits. Tony Messias contributed this installer feature, making installing starter kits easier using the familiar laravel new command.

Community Starter Kit Support in laravel new

In addition to installing a new project with one of the official Laravel Starter Kits, the laravel new command supports using a community starter kit:

laravel new --using statamic/statamic my-statamic-app
laravel new --using tnylea/filamentapp my-filament-app

If you'd like to see what community starter kits are available, Tony Lea created tnylea/laravel-new, which contains a list of projects and/or starter kits that can be installed using the Laravel installer. It is important to do your homework on community starter kits and learn about their source code.

TestResponse ddBody() Method

Sam Carré contributed a ddBody() method to the TestResponse class as a convenience to dumping the contents of the response:

// In a feature test...
$response = $this->get('/example');
$response->ddBody(); // Dumps the whole body
// Dump a specific JSON key
$response->ddBody('title'); // Uses $this->ddJson('title') under the hood

Add CanBeOneOfMany Support to HasOneThrough

Caleb White contributed CanBeOneOfMany support to the HasOneThrough relationship. You can retrieve a singular model from a larger HasManyThrough relationship:

namespace App\Models;
 
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOneThrough;
 
class Application extends Model
{
/**
* Get the latest deployment for the application.
*/
public function latestDeployment(): HasOneThrough
{
return $this->deployments()->one()->latestOfMany();
}
}

Context Increment and Decrement Methods

@mattmcdev contributed increment and decrement methods to Context. This simplifies keeping track of a counter (i.e., number of requests made), etc.:

Context::increment('uploads'); // 1
Context::increment('uploads'); // 2
Context::increment('uploads', 5); // 7

Release notes

You can see the complete list of new features and updates below and the diff between 12.1.0 and 12.2.0 on GitHub. The following release notes are directly from the changelog:

v12.2.0

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article