Home  >  Article  >  PHP Framework  >  What is the difference between laravel 5.2 and 5.6 versions

What is the difference between laravel 5.2 and 5.6 versions

WBOY
WBOYOriginal
2022-06-21 16:16:502141browse

The difference between laravel 5.2 and 5.6 versions: 1. All front-end scaffolding and Vue component instances of the 5.6 version are based on "Bootstrap 4" and are equipped with the "Bootstrap 4" stable version by default, while the 5.2 version instances are not Based on "Bootstrap 4" and not the default version; the log configuration file of versions 2 and 5.6 is "config/logging.php", and the log configuration file of version 5.2 is "config/app.php".

What is the difference between laravel 5.2 and 5.6 versions

The operating environment of this article: Windows 10 system, Laravel5.6&&laravel5.2 version, Dell G3 computer.

What is the difference between laravel 5.2 and 5.6 versions

5.2 version adds

Six months of bug fixes and one year of security fix support

1.Multiple authentication driver support

2.Implicit model binding

3.Simplified Eloquent global scope

4.Optional authentication scaffolding

5. Middleware group

6. Access frequency limit

7. Array input validation optimization

Added in version 5.6

1. Log system,

2. Single-machine task scheduling

3. Model serialization optimization

4.Eloquent date format optimization

5.Dynamic frequency limit

6.Broadcast channel class

7.API resource controller generation

8.Blade component alias

9. Argon2 password hashing support

9. Introducing the Collision extension package

All front-end scaffolding code has been upgraded to Bootstrap 4, and the Symfony components used by Laravel underlying have been upgraded to Symfony ~4.0 version.

The specific differences are as follows:

Improvement log

The most important features in Laravel 5.6 version It is an improvement of the logging function. For those new to Laravel, please note that the logging configuration file in Laravel 5.6 has changed from config/app.php to config/logging.php.

You can configure stack to send logs to different processors. For example, you might want to send debug logs to system log and error logs to slack.

For more information about configuring and customizing logs, please refer to the log-related documents.

Single server task scheduling

If you run the task scheduler on multiple servers, then the tasks you send will be executed on each server . Through the onOneServer() method, you can specify which server the task is running on.

$schedule->command('report:generate')
->fridays()
->at('17:00')
->onOneServer();

Note: In Laravel 5.6 version, you must use memcached or redis cache driver as the default cache driver to get the advantages of single-server task scheduling.

Dynamic speed limit

Laravel 5.6 introduces the dynamic speed limit function, which brings you more flexibility and makes speed limit for individual users simpler:

Route::middleware('auth:api', 'throttle:rate_limit,1')
->group(function () {
Route::get('/user', function () {
//
});
});

In the above example, rate_limit is an attribute of the App\User model (model), which is used to determine the number of requests allowed within a certain period of time.

Broadcast Channel Class

The channel class can now be used in routes/channels.php file.

Laravel 5.6 provides a new make:channel command to assist in generating a new channel class: php artisan make:channel OrderChannel

Register the channel class in the routes/channels.php file It's as simple as this:

use App\Broadcasting\OrderChannel;
Broadcast::channel('order.{order}', OrderChannel::class);

Generate API Controller

Now you can generate a resource controller for an API that does not require create and edit methods. This A convenience approach is only available for resource controllers that return HTML. Add the --api parameter at the end of the command line to generate a resource controller: php artisan make:controller API/PhotoController --api

Eloquent date format

in Laravel In 5.6, you can specify the format for Eloquent date and datetime respectively:

protected $casts = [
'birthday' => 'date:Y-m-d',
'joined_at' => 'datetime:Y-m-d H:00',
];

This format is used to serialize the model into an array or JSON data.

Blade component alias

In Laravel 5.6 you can create aliases for blade components for easy reference. For example, if you save a blade component in the resources/views/components/alert.blade.php file, you can create a shorter alias for it using the component() method: Blade::component('components.alert ', 'alert');

Then you can reference this component through the alias and output: @component('alert')

This is an alert component

@endcomponent

Argon2 Password Hashing

Laravel 5.6 supports the new hashing method for PHP 7.2. You can specify the hashing algorithm used by default in the config/hashing.php configuration file.

UUID method

Two new methods have been added to the Illuminate\Support\Str class for generating UUID (Universal Unique Identifiers):

// The methods return a Ramsey\Uuid\Uuid object
return (string) Str::uuid();
return (string) Str::orderedUuid();

The orderedUuid() method is used to generate a UUID starting with a timestamp to facilitate more efficient database indexing.

Collision beautifies error reporting

We recently developed the Collision package and used it as a dev dependency for Laravel 5.6. Collision provides beautiful error reporting and output to the console. Screenshot below:

What is the difference between laravel 5.2 and 5.6 versions

Bootstrap 4

All front-end scaffolding and Vue component instances are based on Bootstrap 4. We've been following along since Bootstrap 4 beta and even created a Bootstrap 4 Laravel preset. Laravel 5.6 now ships with the stable version of Bootstrap 4 by default.

[Related recommendations: laravel video tutorial]

The above is the detailed content of What is the difference between laravel 5.2 and 5.6 versions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn