Laravel 12.2 презентує користувацькі стартові набори

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 березня, 2025
Laravel продовжує радувати розробників новими можливостями у версії 12.2.0! Чи готові ви дізнатися, які інновації, такі як метод ddBody() та підтримка спільнотних стартер-китів, чекали на вас у цьому оновленні

Команда Laravel випустила версію 12.2.0, яка включає новий метод тестування `ddBody()`, підтримку єдиної моделі через `HasManyThrough`, а також можливості для збільшення і зменшення контекстуальних ключів та багато іншого

Окрім випуску 12.2.0, Laravel Installer тепер підтримує стартер-кити спільноти. Цю функцію додав Тоні Мессіас, що спрощує установку стартер-китів за допомогою знайомої команди laravel new

# Підтримка стартер-китів спільноти в `laravel new`

Тепер, створюючи новий проект з одним з офіційних Laravel Starter Kits, команда laravel new підтримує використання стартер-киту спільноти:

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

Щоб дізнатися, які стартер-кити спільноти доступні, Тоні Ліа створив tnylea/laravel-new, де є список проектів і/або стартер-китів, які можна встановити за допомогою Laravel Installer. Важливо провести власне дослідження та ознайомитися з їхнім вихідним кодом

# Метод `ddBody()` у TestResponse

Сем Карре додав метод ddBody() до класу TestResponse, що дозволяє зручно виводити вміст відповіді:

// У функціональному тесті...
$response = $this->get('/example');
$response->ddBody(); // Виводить увесь вміст
// Вивести конкретний JSON ключ
$response->ddBody('title'); // Використовує $this->ddJson('title') під капотом

# Додавання підтримки CanBeOneOfMany до HasOneThrough

Калеб Уайт додав підтримку CanBeOneOfMany до зв’язку HasOneThrough, що дозволяє отримувати єдину модель з більшого зв'язку HasManyThrough:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOneThrough;

class Application extends Model
{
    /**
     * Отримати останнє розгортання для програми.
     */
    public function latestDeployment(): HasOneThrough
    {
        return $this->deployments()->one()->latestOfMany();
    }
}

# Методи для збільшення і зменшення контексту

@mattmcdev додав методи increment та decrement до Context, що спрощує облік лічильника (наприклад, кількість виконаних запитів):

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

# Примітки щодо випуску

Повний список нових функцій та оновлень можна знайти нижче, а також різницю між 12.1.0 та 12.2.0 на GitHub. Нижче наведені примітки щодо випуску безпосередньо з змін:

# v12.2.0