Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[11.x] Slim skeleton #6188

Merged
merged 189 commits into from Nov 28, 2023
Merged

[11.x] Slim skeleton #6188

merged 189 commits into from Nov 28, 2023

Conversation

taylorotwell
Copy link
Member

@taylorotwell taylorotwell commented Jun 1, 2023

See: laravel/framework#47309

Laravel 11 Skeleton Overview

General Notes

More environment variables have been added to the .env.example file.

The default QUEUE_CONNECTION variable value has been updated to database instead of sync.

The BROADCAST_DRIVER and CACHE_DRIVER environment variables have been renamed to BROADCAST_CONNECTION and CACHE_STORE, respectively.

The HTTP Kernel has been removed. Configuration that was previously done in this file can be done in the bootstrap/app.php file, including registering / replacing middleware.

The console kernel has been removed. Schedules can be defined in the console “routes” file. Commands generated by make:command are automatically loaded and do not require registration. Additional command loading paths can be registered in the bootstrap/app.php file.

The exception handler has been removed. Exception handling behavior can be configured in the bootstrap/app.php file via reportable, renderable, throttle, and more. Callbacks received by these functions will have their type hints inspected to see if they handle a given exception.

The base HTTP controller no longer extends any other classes (requiring new middleware definition feature). No traits are included by default on the base controller. Authorization can be done using facades, or traits can be added manually.

All middleware has been removed. Configuration of these middleware’s behavior can be done via static methods on the middleware themselves (see framework notes).

The User model now utilizes a casts method instead of a property. The HasApiTokens trait has been removed by default since Sanctum is not installed by default.

All service providers except the AppServiceProvider have been removed. Policies are auto-discovered and gates can be registered in AppServiceProvider. Likewise, events can be registered in AppServiceProvider. Routing behavior is now determined / customized in the bootstrap/app.php file.

New bootstrap/app.php file can be used to customize core framework behavior like routing, container bindings, middleware, and exception handling.

Sanctum is no longer installed by default (see install:api).

Configuration files are not present by default. Can be published by config:publish command. Default values are present in the framework and application level configuration now cascades with framework definitions, so only customized values need be present in application level configuration files.

Migration files have been re-dated to be evergreen. The password_reset_tokens table migration has been combined into the users table migration file. Likewise, the jobs table migration has been combined into a single migration with the failed_jobs table.

Echo bootstrapping has been removed by default. It is re-inserted by new install:broadcasting command.

API and channel routes files are not present by default, can be recreated by install:api and install:broadcasting respectively.

@taylorotwell taylorotwell marked this pull request as draft June 1, 2023 19:00
@laravel laravel locked as resolved and limited conversation to collaborators Jun 1, 2023
@nunomaduro nunomaduro changed the title Slim skeleton [11.x] Slim skeleton Nov 20, 2023
@taylorotwell taylorotwell marked this pull request as ready for review November 28, 2023 20:27
@taylorotwell taylorotwell merged commit 428a190 into master Nov 28, 2023
2 of 8 checks passed
@taylorotwell taylorotwell deleted the slim-skeleton-11.x branch November 28, 2023 20:28
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
4 participants