Home >PHP Framework >Laravel >Take a look at the new features of the latest release of Laravel8.78!

Take a look at the new features of the latest release of Laravel8.78!

藏色散人
藏色散人forward
2022-01-18 16:13:221685browse

The following tutorial column of Laravel will introduce to you the new features of the latest release of Laravel 8.78. I hope it will be helpful to everyone!

The Laravel team has released 8.78 with the ability to add custom rules to default password validation, the mergeIfMissing() request method, batch counting in assertion tests, and the latest changes in the v8.x branch.

Define additional default password validation rules

Ash Allen contributed defining custom validation rules that will be run as part of the default password rules using the rules() method :

Password::defaults(function () {
    return Password::min(8)
        ->symbols()
        ->mixedCase()
        ->uncompromised()
        ->rules(new ZxcvbnRule());
});

rules() Method accepts a single rule, an array of rules, or a closure of closure validation rules.

If merge request data is missing

David Peach provides a mergeIfMissing() HTTP request method that merges new input into the request if a key is missing from the request input.

For example, if you leave the form checkbox unchecked, it will not be sent to the server. You may have to write something like this:

if ($request->missing('boolean_setting')) {
    $request->merge(['boolean_setting' => 0]);
}

Now you can define the value to be merged with the request when the parameter is missing:

$request->mergeIfMissing(['boolean_setting' => 0])

Assert the number of batches

@Chrysanthos for the Bus facade Contributed a assertBatchCount() method that asserts how many batches have been scheduled:

Bus::assertBatchCount(3);

HTML String Methods

Lars Klopstra contributed one for Str and Stringable toHtmlString() Method:

// 之前
new HtmlString(Str::of($content)->markdown());
 // 现在
Str::of($content)
    ->markdown()
    ->html();

Release Notes

You can view the full list of new features and updates between 8.77.0 and 8.78.0 on GitHub difference. The following release notes are taken directly from the changelog:

v8.78.0

New

  • New schedule:clear-mutex command (#40135 )
  • Added the function of custom password verification rules (#40137)
  • Added a mergeIfMissing method in the Illumbize Http request class (#40116)
  • New Illuminate/Support/MultipleInstanceManager (40913ac)
  • New SimpleMessage::lines() (#40147)
  • Added Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount() (#40217)
  • Only enabled when using the broadcast driveronly-to-others Feature (#40234)
  • Added the ability to customize json options on the JsonResource response (#40208)
  • New Illuminate/Support/Stringable::toHtmlString() (#40247)

Changes

  • Improve support for custom column types (#40119)
  • Remove the Useless check (#40145)
  • Sort the collection by key when the first element of the sort operation is a string (even if it is a callable) (#40212)
  • If there are multiple hosts, please use the first host Illuminate/Database/Console/DbCommand::getConnection() (#40226)
  • Improvements in the reflector class (#40241)

Fix

  • Clear records when calling Http::fake() (#40194)
  • Fix attribute conversion (#40245, c0d9735)

Original address: https://laravel-news.com/laravel-8-78-0

Translation address: https://learnku.com/laravel/t/64574

The above is the detailed content of Take a look at the new features of the latest release of Laravel8.78!. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:learnku.com. If there is any infringement, please contact admin@php.cn delete